Если в 1С-Битрикс не подключаются JavaScript‑файлы через метод Asset::addJs(), но при прямом подключении через тег <script> всё работает, скорее всего проблема в настройках главного модуля.
Как это выглядит
Код, который не работает:
<?php
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . '/js/script.js');
?>
Код, который работает (обычный вывод):
<script type="text/javascript" src="<?= SITE_TEMPLATE_PATH ?>/js/script.js"></script>
Причина и решение
В Битриксе есть опция, которая перемещает весь JavaScript в конец страницы для ускорения загрузки. Если эта опция включена, но ваш скрипт не отображается, значит он не был добавлен через правильный API.
Чтобы исправить ситуацию:
- Зайдите в административную панель.
- Перейдите в «Настройки» → «Настройки модулей» → «Главный модуль».
- Найдите параметр «Переместить весь Javascript в конец страницы» и убедитесь, что галочка установлена.
- Сохраните настройки.
После этого скрипты, добавленные через Asset::addJs(), будут корректно выводиться в подвале страницы.
Дополнительная проверка
Убедитесь, что путь к файлу указан верно. В примере выше используется константа SITE_TEMPLATE_PATH – она указывает на папку текущего шаблона. Если файл лежит в другом месте, скорректируйте путь.
Также проверьте, что метод вызывается до момента генерации страницы – обычно это делается в init.php или в верхней части шаблона.
Если в 1С-Битрикс не подключаются JavaScript‑файлы через метод
Asset::addJs(), но при прямом подключении через тег<script>всё работает, скорее всего проблема в настройках главного модуля.Как это выглядит
Код, который не работает:
Код, который работает (обычный вывод):
Причина и решение
В Битриксе есть опция, которая перемещает весь JavaScript в конец страницы для ускорения загрузки. Если эта опция включена, но ваш скрипт не отображается, значит он не был добавлен через правильный API.
Чтобы исправить ситуацию:
После этого скрипты, добавленные через
Asset::addJs(), будут корректно выводиться в подвале страницы.Дополнительная проверка
Убедитесь, что путь к файлу указан верно. В примере выше используется константа
SITE_TEMPLATE_PATH– она указывает на папку текущего шаблона. Если файл лежит в другом месте, скорректируйте путь.Также проверьте, что метод вызывается до момента генерации страницы – обычно это делается в
init.phpили в верхней части шаблона.