Для оформления и реализации front-end логики компонента, в его шаблоне доступны не обязательные файлы
- style.css, который определяет стили, необходимые данному шаблону
- script.js, который определяет и подключает JavaScript, необходимые данному шаблону.
Не всегда их хватает. Для подключения внешних css/js можно было пойти разными путями
- В шаблоне "подключить жестко" инлайном, что совсем не спортивно
- Захардкодить в компоненте (так как есть ловушка кеширования в шаблоне), что еще менее спортивно $APPLICATION->SetAdditionalCss("/local/styles.css");
- Архитектурно правильный способ (но его уже можно считать устаревшим), для тех кто знаком с устройством компонента, создать component_epilog.php:
Не зависимо от кеша, файлы всегда будут с шаблоном! Ура!
- style.css, который определяет стили, необходимые данному шаблону
- script.js, который определяет и подключает JavaScript, необходимые данному шаблону.
Не всегда их хватает. Для подключения внешних css/js можно было пойти разными путями
- В шаблоне "подключить жестко" инлайном, что совсем не спортивно
- Захардкодить в компоненте (так как есть ловушка кеширования в шаблоне), что еще менее спортивно $APPLICATION->SetAdditionalCss("/local/styles.css");
- Архитектурно правильный способ (но его уже можно считать устаревшим), для тех кто знаком с устройством компонента, создать component_epilog.php:
SetAdditionalCss("/local/styles.css");
- И теперь простой и самый правильный способ в template.php: $this->addExternalCss("/local/styles.css");
$this->addExternalJS("/local/liba.js");
В комплекте идёт поддержка кеширования не только текущего шаблона, но и родительского.Не зависимо от кеша, файлы всегда будут с шаблоном! Ура!