Проблемы поддержки кода и обновления файлов библиотек
| Macik |  | 
|---|---|
| Еще раз про многострадальный Бутстрап. Т.к. все больше плагинов и тем оформления используют этот фреймворк, у меня на рабочих проектах все чаще стала возникать проблема следующего характера: 
 Для решения этих проблем написал плагин «оболочку» для Бутстрапа. Что он из себя представляет — он содержит собственную, легко обновляемую копию Bootstrap, которую предполагается будут использовать все остальные плагины и темы. Для этого плагин предоставляет простой механизм проверки установлен ли в системе bootrap и пути к файлам бибилиотеки. За счет этого решаются все три вышеперечисленные проблемы. Плюс к этому плагин позволяет выбирать загружать ли локальные файлы или файлы с CDN, а так же полные или пожатые версии. Все что нужно, чтобы перевести старые плагины/темы оформления на «новые рельсы» и отучить их таскать копии бутстрапа с собой, это использовать следующий код: 
global $cot_bootstrap;
// Проверяем установлен ли плагин Bootstrap и его версию
if ($cfg['bootstrap'] && version_compare($cfg['bootstrap'], '3.0.0', '>=')) {
    // если файлы установлены и версия нас устраивает — загружаем их
    cot_rc_add_file($cot_bootstrap['css_file']);
    cot_rc_add_file($cot_bootstrap['theme_file']);
    cot_rc_link_footer($cot_bootstrap['js_file']);
} else {
    // Код для обратной совместимости, на случай если Bootstrap плагин не установлен
    // Просто загружаем необходимые файлы с какого-либо CDN (для примера с Яндекса)
    cot_rc_add_file('http://yandex.st/bootstrap/3.0.3/js/bootstrap.min.css');
    cot_rc_link_footer('http://yandex.st/bootstrap/3.0.3/js/bootstrap.min.js');
}
 Поэтому, если вы столкнулись с подобной поблемой, или пишете свой плагин/тему фофрмления на основе Bootstrap рекомендую использовать данный плагин. Скачать и попробовать можно отсюда: https://github.com/macik/cot-bootstrap/ Описание на русском: https://github.com/macik/cot-bootstrap/blob/master/README_ru.md https://github.com/macik правильный хостинг — https://goo.gl/fjCa1F |