Подключение скрипта или стилей «по-месту», на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости.
От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать в теме или модуле, используя файл THEME-OR-MODULE-NAME.libraries.yml.
Пример объявления:
1 2 3 4 5 6 7 8 |
feature-scroll: js: assets/components/body/feature_scroll/js/feature-scroll.js: {} css: theme: assets/components/body/feature_scroll/css/feature-scroll.css: {} dependencies: - core/jquery |
Пути указываются относительно корня вашего модуля.
А дальше вы можете уже в шаблоне подключить библиотеку по её имени, которое формируется из названия темы/модуля + имя самой библиотеки.
В twig файле:
1 |
{{ attach_library('MY-THEME-NAME/feature-scroll') }} |