Свой JS на страницах сайта

Всем добрый день. 

Есть необходимость вставить на некоторые информационные страницы сайта свой код. 

Например, на странице "наши адреса" нужно вставить такие вкладки, которые были сделаны с помощью javascript.  

Код был написан в разделе Сайт->Блоки, и вставлен на страницу с помощью кода (например {$wa->block("test")}) .

Но при таком методе возникают конфликты со скриптами установленных плагинов. Они начинают некорректно работать. Так же, на страницах товаров, где вставлены подобные блоки со своими скриптами, происходят тоже сбои (например, товар перестает добавляться в избранное и тд).


Прочитав документацию, пришла к выводу, что нужно писать плагин свой ? Так ли это ? или можно проще решить этот вопрос? 


3 ответа

  • 2

    Посмотреть, что конфликтует, поменять свой js.

  • 1
    Светлана Котлова 5 января 2020 14:21 #

    Меняла несколько раз.
    Так же устанавливаю слайдер , подключаю так же файлы js, происходит то же самое, на страницах, где установлен слайдер

  • 2
    replicant 5 января 2020 16:41 #

    Плагин? Зачем плагин? Что это изменит?

    Вам просто необходимо научиться использовать код JS правильно. Очень важно не просто вставлять куда-то какой-то код, а понимать при этом что он делает и с чем может конфликтовать, чтобы эти конфликты устранить.

    Нагромождение всяких разномастных JS ни к чему хорошему не приведет, если нет четкого понимания ситуации. И не имеет значения откуда будут торчать уши этих JS. Из плагинов или из шаблонных вставок или вставок в блоки/страницы.

    Если рассуждать применительно к вашему скриншоту, то вкладки Оплата, Доставка и Как сделать заказ оживляются скриптом типа такого, вставленным прямо в конкретную страницу или конкретный блок в тег <script> и код {literal}...{/literal}. Когда применение данного JS планируете многократно в разных местах, то имеет смысл вытащить код в какой-нибудь из основных JS. При одноразовом применении достаточно локальной вставки.

    $(document).ready(function () {$('.tab-menu').click(function(){$('.tab-menu').removeClass('selected');$('.tab-content').parent().hide();$(this).addClass('selected');$('#tabs'+$(this).attr('value')).show()})})

    Если ваш скрипт длиннее или сложнее, то вы делаете простые вещи странными сложными и возможно даже неправильными способами.

    Подключать JS надо тогда, когда это требуется и ровно в тех местах, где необходимо. Всю массу JS таскать по всему сайту нет смысла. Риск получить ошибку или конфликт возрастает. Поэтому к подключению разномастных JS надо подходить с четким планом действий.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите