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 для объединения.

Другие записи из подборки «OctoberCMS. Backend.»

OctoberCMS. Ошибка RelationController: "Не удалось найти шаблон (partial) ... traits\ViewMaker.php"

В контроллере поведения RelationController при нажатии на кнопке "Cоздание" вылетает ошибка с подобным содержаним

"Не удалось найти шаблон (partial) с именем _comments.htm." on line 91
of ...\modules\system\traits\ViewMaker.php

Похожие записи

Собственные сообщения об ошибках валидации форм OctoberCMS

Во время разработки модели данных OctoberCMS при необходимости, можно использовать собственные сообщения об ошибках валидации полей формы вместо сообщения The :attribute field is required. по-умолчанию. В статье показывается как, достаточно просто, это делается.

FrontEnd контроллеры в OctoberCMS

В OctoberCMS нет концепции frontEnd контроллеров. Иными словами, идеология этой CMS не подразумевает возможность просто создать некий ProductController с несколькими action для обслуживания маршрутов Route::method('product/{id}', 'ProductController@show'). Вместо этого предлагается использовать компоненты плагинов. Именно компоненты являются формой frontEnd контроллеров.