-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Я развиваю тему того, что для различных компонентов использующих Bootstrap (плагины/модули/темы оформления) необходим единый «контейнер» с файлами Bootstrap. Чтобы каждый плагин/тема не тащили свою копию, создавая зоопарк версий, и возможные коллизии.
Для этих целей написал небольшую оболочку для бутстрапа. За счет которой он устанавливается в систему, и предоставляет простой интерфейс для загрузки файлов из «единого источника» всем остальным модулям.
Вот тут расписал немного подробностей:
http://www.cotonti.com/forums?m=posts&q=7681
https://github.com/Kilandor/cotonti.com/issues/11
Вот ссылка на сам плагин:
https://github.com/macik/cot-bootstrap/
Тут некоторое описание на русском:
https://github.com/macik/cot-bootstrap/blob/master/README_ru.md
Если не вдаваться в подробности, то вот рабочий пример для «Юкона» — надо в блок загрузки ресурсов header.tpl добавить 2 условия (проверка на наличие бутсрапа в системе):
<!-- IF {PHP.cfg.bootstrap} -->
<link href="{PHP.cot_bootstrap.css_file}" type="text/css" rel="stylesheet" />
<!-- ELSE -->
<link href="http://yandex.st/bootstrap/3.0.3/js/bootstrap.min.css" type="text/css" rel="stylesheet" />
<!-- ENDIF -->
<link href="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/css/font-awesome.min.css" type="text/css" rel="stylesheet" />
<link href="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/css/styles.css" type="text/css" rel="stylesheet" />
<link href="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/css/overrides.css" type="text/css" rel="stylesheet" />
<link href="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/css/modalbox.css" type="text/css" rel="stylesheet" />
<!-- IF {PHP.cfg.bootstrap} -->
<script src="{PHP.cot_bootstrap.js_file}" type="text/javascript"></script>
<!-- ELSE -->
<script src="http://yandex.st/bootstrap/3.0.3/js/bootstrap.min.js" type="text/javascript"></script>
<!-- ENDIF -->
<script src="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/js/jquery.cookie.js" type="text/javascript"></script>
<script src="{PHP.cfg.themes_dir}/admin/{PHP.cfg.admintheme}/js/js.js" type="text/javascript"></script>
После этого весь бутстрап из дистрибутива Юкона можно смело выкидывать, он будет грузиться либо из центрального «источника», либо с CDN, если «оболочка» бутстрап не установлена в системе.