Zheleznov
@Zheleznov

Как запустить на разных страницах сайта разный js код?

Всем добрый день.
Помогите пожалуйста решить такую задачу.

Есть интернет-магазин на cms MODX REVO
- Нужно чтобы в разделе /catalog/ запускался js код 1 (это типа pop-up окно с тестом будет), на всех категориях, подкатегориях, карточках товара, в url которых есть /catalog/

- И нужно чтобы на всем сайте, кроме раздела /catalog/ , запускался js код 2

Видел подобные решения, но окончательно сформировать не могу:
Как я понимаю надо создать 2 функции, с 2 js кодами.

и прописать типа:

if (window.location.pathname.indexOf('/catalog/') >= 0)) {
  return functionone();
}
else {
 return functiontwo();
}


Или функциям присвоить переменную..
В общем простите за кровь из глаз, и помогите пожалуйста, я только начал изучать js
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
tovarnyak
@tovarnyak
Не знаю как вшить это внутрь самого JS, но можно в рамках документа или шаблона отрабатывать тот или иной сценарий:

[[*template:is=`12`:then=`выводим если шаблон равен 12`:else=`выводим если шаблон не равен 12`]]]] 

[[*id:is=`1`:or:is=`2`:or:is=`3`:then=`выводим если ID документа равен 1 или 2 или 3`:else=`выводим если ID документа не равен 1 или 2 или 3`]]]]


В данные конструкции можно подключать отдельные скрипты, которые будут выполняться на нужных страницах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sashabeep
@sashabeep
Дней без вопросов про Slick на тостере : 0
В MODX revo у вас полюбому есть шаблоны, определяющие вывод таких сущностей, как:

  • Список товаров
  • Один товар


Вот в них и напишите этот свой скрипт. Изучать location не имеет смысла. Потому что одним простым действием /catalog/ переименовывается в /tovary/ но от этого суть его не меняется. А вот ваш скрипт перестанет работать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы