Фильтр tv chekbox
Здравствуйте, имеется дополнительное поле, тип чекбокс (productsCategory), служит для заполнения категорий продуктов (т.е. их несколько, привязаны к продуктам и должна быть реализована функция множественного выбора).
Сам tv типа:
Фрукты==Фрукты||
Овощи==Овощи||
На каждую категорию необходимо вывести условие if, в зависимости от этого tv выводить тот или иной блок , условия типа:
Сам tv типа:
Фрукты==Фрукты||
Овощи==Овощи||
[+tv.productsCategory:is=`Фрукты`:then=`<div class="fruits">`:else=`<div class="fruits disabled">`]]
И так далее. Фильтр работает только с одиночным значением, а выводит просто строкой отмеченные значения, пробовал модуль IF и фильтровать массив (вывод tv поставил разделитель — запятая) — не сработало. Мог бы как-то выкрутиться с выводом tv, но это значение используется на разных страницах, в разных вариациях. Пробовал менять tv на теги — тоже самое. Может кто-то подскажет как правильно это реализовать, или иной быстрый и действенный способ? Заранее спасибо. Комментарии: 1
Можно сделать через fenom.
Во-первых заходите в настройки TV поля во вкладку Параметры вывода. Выбираете в поле Тип вывода — Разделитель. В поле Разделитель ставите запятую. Теперь у вас будут выводиться значения через запятую. Далее в чанке вывода пишите:
Во-первых заходите в настройки TV поля во вкладку Параметры вывода. Выбираете в поле Тип вывода — Разделитель. В поле Разделитель ставите запятую. Теперь у вас будут выводиться значения через запятую. Далее в чанке вывода пишите:
{set $productsCategoryArr = $_pls['tv.productsCategory'] | split}
{foreach $productsCategoryArr as $category}
{switch $category}
{case 'Фрукты'}
<div class="fruits">Фрукты</div>
{case 'Овощи'}
<div class="veggies">Овощи</div>
{/switch}
{/foreach}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.