OctoberCMS. Скрытый компонент «Ресурсы»
Введение
В OctoberCMS ресуры (CSS и JS файлы) на страницу или в шаблон (layout) добавляются с использованием методов контроллера addCss()
и addJs()
, которые следует размещать в хуке жизненного цикла onStart()
, например:
public function onStart()
{
$this->addCss(['assets/css/hello.css', 'assets/css/goodbye.css']);
$this->addJs(['assets/js/app.js', 'assets/js/nav.js']);
}
Однако существует альтернативный декларативный способ добавления ресурсов на страницы.
Компонент «Ресурсы»
Предназначен для простого добавления ресурсов на страницу. Непосредственно компонент \modules\cms\components\Resources.php
является одним из 3 встроенных компонентов CMS и наряду с компонентом ViewBag скрыт по-умолчанию в аминистративном интерфейсе CMS и добавляется через текстовый редактор.
Компонент предоставляет четыре массива js[]
, css[]
, less[]
и sass[]
для ресурсов + массив vars[]
для создания пар переменная-значение. Поиск файлов осуществляется внутри каталога assets
активной темы в соответствующих подпапках (assets\js
, assets\css
, assets\less
и assets\sass
.
Пример добавления CSS файла <site>\themes\<theme_name>\assets\css\pages\maintenance.css
на страницу:
[resources]
css[] = "pages/maintenance.css"
Другой пример: на страницу добавляется OctoberCMS framework и 2 js файла.
[resources]
js[] = "../vendor/masonry-layout/dist/masonry.pkgd.min.js"
js[] = "pages/blog.js"
js[] = "../../../../modules/system/assets/js/framework.js"
js[] = "../../../../modules/system/assets/js/framework.extras.js"
css[] = "../../../../modules/system/assets/css/framework.extras.css"
После добавления компонента через текстовый редактор, он становится доступен для редактирования в административном интерфейсе.
// «Под капотом» содержимое отправляется в комбайн CombineAssets::combine
для объединения.