1С-Битрикс

Не подключаются скрипты через Asset addJs в Битриксе

Что делать если не работает подключение в битрикс через Asset::getInstance()->addJs?

sqlka.ruОпубликовано: Чтение: 1 мин.
Не подключаются скрипты через Asset addJs в Битриксе

Если в 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.

Чтобы исправить ситуацию:

  1. Зайдите в административную панель.
  2. Перейдите в «Настройки» → «Настройки модулей» → «Главный модуль».
  3. Найдите параметр «Переместить весь Javascript в конец страницы» и убедитесь, что галочка установлена.
  4. Сохраните настройки.

После этого скрипты, добавленные через Asset::addJs(), будут корректно выводиться в подвале страницы.

Дополнительная проверка

Убедитесь, что путь к файлу указан верно. В примере выше используется константа SITE_TEMPLATE_PATH – она указывает на папку текущего шаблона. Если файл лежит в другом месте, скорректируйте путь.

Также проверьте, что метод вызывается до момента генерации страницы – обычно это делается в init.php или в верхней части шаблона.

Хотите освоить SQL для работы с данными?

В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.

sqlka.ru

support@sqlka.ru

Дальше по теме

← Все статьи