Подключение CSS и JS файлов
Для оформления и реализации front-end логики компонента, в его шаблоне доступны не обязательные файлы
- style.css, который определяет стили, необходимые данному шаблону
- script.js, который определяет и подключает яваскрипты, необходимые данному шаблону.
Не всегда их хватает. Для подключения внешних css/js можно было пойти разными путями
- В шаблоне "подключить жестко" инлайном, что совсем не спортивно
<li nk href="/local/styles.css" type="text/css" rel="stylesheet" />
- Захардкодить в компоненте (так как есть ловушка кеширования в шаблоне), что еще менее спортивно
$APPLICATION->SetAdditionalCss("/local/styles.css");
- Архитектурно правильный способ (но его уже можно считать устаревшим), для тех кто знаком с устройством компонента,
создать component_epilog.php:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
global $APPLICATION;
$APPLICATION->SetAdditionalCss("/local/styles.css");
- И теперь простой и самый правильный способ
в template.php:
$this->addExternalCss("/local/styles.css");
$this->addExternalJS("/local/liba.js");
В комплекте идёт поддержка кеширования не только текущего шаблона, но и родительского.
Не зависимо от кеша, файлы всегда будут с шаблоном! Ура!