Пользовательский JS
Тема Seller 2.0 поддерживает добавление пользовательского JavaScript-кода через систему блоков.
Как добавить
-
Перейдите в приложение Сайт — Блоки.
-
Создайте блок с именем
site.{имя_темы}_js, где{имя_темы}— идентификатор вашей темы дизайна.
Для стандартной (не клонированной) темы Seller 2.0 имя блока будет:
site.seller2_js
Скрипты из этого блока добавляются перед закрывающим тегом </body>.
Пример содержимого блока
{literal}
<script>
// Ваш JavaScript-код
document.addEventListener('DOMContentLoaded', function() {
console.log('Страница загружена');
});
</script>
{/literal}
Весь код внутри блока необходимо оборачивать в теги {literal}...{/literal}, чтобы шаблонизатор Smarty не обрабатывал фигурные скобки как свои директивы.
Отложенная загрузка скриптов
Если вам нужно загрузить скрипт с задержкой (например, счетчик аналитики), вы можете использовать отложенную загрузку по событию прокрутки страницы:
{literal}
<script>
(function() {
var fired = false;
window.addEventListener('scroll', function() {
if (fired === false) {
fired = true;
setTimeout(function() {
// Сюда добавьте код, который должен загрузиться с задержкой
// Например, код Яндекс.Метрики
}, 1000);
}
});
})();
</script>
{/literal}
Код внутри setTimeout выполнится через 1 секунду после первой прокрутки страницы. Проконсультируйтесь с вашим маркетологом перед тем, как откладывать загрузку счетчиков аналитики — это может повлиять на точность сбора данных.
Клонирование темы
При создании клона темы дизайна имя блока должно соответствовать идентификатору клона. Например, если вы создали клон с именем seller2_28.03.2023, то блок должен называться:
site.seller2_28.03.2023_js
Старый блок site.seller2_js в клонированной теме работать не будет — необходимо создать новый блок или переименовать существующий.