Forumlar / National / Russian / Модули и плагины / Опять Bootstrap

Проблемы поддержки кода и обновления файлов библиотек

Macik
#1 2014-02-04 02:02

Еще раз про многострадальный Бутстрап.  

Т.к. все больше плагинов и тем оформления используют этот фреймворк, у меня на рабочих проектах все чаще стала возникать проблема следующего характера:

  • во-первых, все эти дополнения и темы тащат в своем дистрибутиве отдельную версию бутстрапа (а это 300-500 Кб лишнего кода на каждый из пагинов)
  • во-вторых, при плохом стечении обстоятельств на странице грузиться две разных копии бутстрапа (например одну грузит тема оформлеиня, другую плагин), что недопустимо на рабочем сайте
  • в-третьих, обновлять все это хозяйство и поддерживать актуальным обходится «дорого».

Для решения этих проблем написал плагин «оболочку» для Бутстрапа. Что он из себя представляет — он содержит собственную, легко обновляемую копию 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
esclkm
#2 2014-02-04 12:04

мысль в целом толковая

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Macik
#3 2014-02-04 13:23
#39141 esclkm:

мысль в целом толковая

Спасибо за отзыв. Осталось только эту «мысль» донести до разработчиков. :)

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Dr2005alex
#4 2014-02-04 13:56

Возьмем на заметку))

WebKaa.ru - Cotonti Relax