В сниппете — получил ассоциативный массив ключ/значение: «1»=>(массив id товаров),«2»=>(массив id товаров),«3»=>(массив id товаров).
Как в Товаре вывести по условию (сравнить id Товара, определить принадлежность к соответствующей Группе, получить из сниппета)?
{if id Товара входит в Группу == 1}
Вывести что-то
{/if}
{if id Товара входит в Группу == 2}
Вывести что-то другое
{/if}
Спасибо
Павел Романов 10.06.2019 20:11 #
То, например, так:
Iskatel 10.06.2019 21:23 #
Добавить код в сниппет.
Вызвать сниппет.
Он выведет текст? Никакой шаблон ведь не указан?
Спасибо
Iskatel 11.06.2019 00:47 #
Работает в Карточке.
Как получить id товара в Каталоге?
Спасибо
Павел Романов 11.06.2019 10:00 #
А внутри проверку сделайте:
Iskatel 12.06.2019 11:39 #
Как правильно в сниппете указать условие
Спасибо
Павел Романов 12.06.2019 12:59 #
выводите через msProducts?
В его вызов просто добавьте параметр &templates с указанием ID шаблона товара:
Таким образом выборка будет ужа на уровне msProducts.
А внутри самого шаблона товара делать эту проверку бессмысленно.
Iskatel 12.06.2019 13:14 #
условие указываю в сниппете.
Можно просто написать 2 сниппета, и вызывать в Товар/Категория.
Не оптимально.
… внутри самого шаблона товара делать эту проверку бессмысленно…
Этого не знал.
Спасибо
Павел Романов 12.06.2019 13:30 #
Вы можете передавать все, что угодно в сниппет через параметры. Внутри сниппета это просто переменные:
Сниппет:
Вызов:
выведет
Соответственно, по аналогии с ID передавайте и шаблон:
Внутри сниппета то, что передадите будет в переменной $template.
Но если у Вас изначально товары выводятся msProducts, pdoResources или pdoPage в качестве обертки для них, то там есть встроенная фильтрация по шаблону.
Вызов:
Уже выведет товары только с шаблоном = 5 и в чанке tovar_tpl нет никакого смысла делать проверку на шаблон.
Если же Вам нужно проверять шаблон не товара, а категории в котором выводится их список, то шаблон текущего ресурса в MODX можно получить так:
Iskatel 12.06.2019 13:40 #
Именно так хочу сделать, буду пробовать.
Спасибо
Iskatel 12.06.2019 16:26 #
Ничего не выводит, $id-товара как передать?
Спасибо
Iskatel 12.06.2019 16:48 #
Условие в Категории — не работает.
Ввел id вручную — текст вывелся во всех товарах магазина.
Iskatel 12.06.2019 17:22 #
Все работает.
Паве, благодарю!
Iskatel 12.06.2019 17:53 #