Работа с JavaScript в Albireo CMS
В большинстве случаев работа с JavaScript сводится к подключению js-файла. Для этого используется два поля:
# подключение файла в секции HEAD js.head[]: my.js # подключение в конце BODY js.lazy[]: my.js
Также можно подключить js-файл напрямую в HEAD или в конце BODY:
js.head.url[]: полный путь к файлу js.lazy.url[]: полный путь к файлу
Часто нужно подключить не просто js-файл, а некую js-библиотеку и инициализировать её. Если она часто используется на сайте, то удобно вынести её в ресурсы _resources, а подключение через опцию сделать в parts-файле.
Например вот так сделано подключение Alpine JS (parts/head/alpine.php)
// use.alpine: +
if (checkStr(getPageData('use.alpine', false)) === true)
echo '<script src="' . RESOURCES_URL . 'alpine/alpine.min.js" defer></script>';
Когда появится новая версия Alpine JS, то будет достаточно только обновить её в каталоге ресурсов, не затрагивая файлы шаблона.
Бывают ситуации, когда js-библиотека имеет достаточно сложный код использования. В этом случае в parts-файле делается только подключение, а код инициализации прописывается уже в теле страницы как SCRIPT. Например слайдер tiny-slider имеете очень много настроек, поэтому проще прописать SCRIPT именно возле самого html-блока.
Расположение js-файлов
JS-файлы сайта можно располагать в каталоге шаблона или в my-каталоге сайта.
templates/default/assets/js или service/my/assets/js
Приоритет имеет my-каталог. Например если используется поле js.head[]: my.js, то файл my.js вначале будет проверен в service/my/assets/js и только потом в templates/default/assets/js.
Это позволяет переопределять произвольные файлы шаблона под свою задачу: для этого достаточно просто скопировать файл из каталога шаблона в my-каталог и поправить. При этом Albireo CMS сама выполнит подключение нужного файла.