Bitrix. Подключение своих стилей и скриптов.
Итак задача сделать это с использованием команд, а не простого подключения в шаблоне через явное прописываение тегов <link type="text/css" href=".." rel="stylesheet" />
и <script type="text/javascript" src=".."></script>
.
Если вам нужно именно это, то идем в файл
/bitrix/templates/имя_шаблона/header.php
и там все видно.
Нужно прописать в конце страницы, то
/bitrix/templates/имя_шаблона/footer.php
Это решение для всего сайта на все страницы.
Теперь "точечное" подключение.
$APPLICATION->AddHeadScript('/путь/скрипт.js');
$APPLICATION->SetAdditionalCSS('/путь/стиль.css');
Тут уже мы отдаем ссылку на файлы в класс CMain. Это как отложенный вызов будет работать - добавит наши файлы в список вывода в теге head и выведет уже при отдаче страницы сервером.
Еще у Битрикса есть возможность добавить в head любую строку через
$APPLICATION->AddHeadString('строка',true)
Это так же можно делать для страниц битрикса, т.е. чтобы весь шаблон не "таскал" за собой разметку, нужную только на одной странице.
Общие замечания.
Все добавления файлов в загрузку в head работают, если в шаблоне будет строка:
$APPLICATION->ShowHead();
Иначе это все бессмысленно. Обычно она есть, но никто не мешает же вам или вашим исполнителям, что делали шаблоне убрать эти строки из шаблона.
Выводит она данные последовательно:
- Стили, заданные через метод SetAdditionalCSS
- Скрипты, заданные через метод AddHeadScript
- Строки, заданные через метод AddHeadString
Для удобства указаний путей есть пердопределенные константы, которые содержат пути к файлам.
$componentPath путь к компоненту относительно корня сайта
$templateFile путь к файлу шаблона компонента относительно корня сайта
$templateFolder путь к папке шаблона компонента относительно корня сайта
$parentTemplateFolder путь к папке родительского шаблона
$templateName имя шаблона
SITE_TEMPLATE_PATH путь к текущему шаблону /bitrix/templates/шаблон
Заметили ошибку, можете подсказать еще что-то? - Обращаемся сюда