Skip to content

Единый источник bootstrap для всей CMF #5

@macik

Description

@macik

Я развиваю тему того, что для различных компонентов использующих 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, если «оболочка» бутстрап не установлена в системе.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions