Как вывести дерево категорий исключив некоторые категории?
Стандартный вывод категорий подразумевает вывод ВСЕХ категорий подряд.
Например, получаем массив всех категорий в переменную $categories.
{$categories = $wa->shop->categories()}
Строим дерево категорий функцией wa_print_tree исходя из содержимого массива $categories.
{wa_print_tree tree=$categories elem=':name'}
Но я бы хотел построить дерево категорий только из тех категорий, у которых в дополнительных параметрах указана пара ключ-значение "menu=1".
Каким образом можно это сделать?
Например, получаем массив всех категорий в переменную $categories.
{$categories = $wa->shop->categories()}
Строим дерево категорий функцией wa_print_tree исходя из содержимого массива $categories.
{wa_print_tree tree=$categories elem=':name'}
Но я бы хотел построить дерево категорий только из тех категорий, у которых в дополнительных параметрах указана пара ключ-значение "menu=1".
Каким образом можно это сделать?
4 ответа
{function mymenu}
<ul>
{foreach $categories as $cat}
{$cat_id = $wa->shop->category($cat.id)}
{if $cat_id.params.menu eq 1}
<li>
<a href="{$cat.url}">{$cat.name}</a>
<ul>
{mymenu}
</ul>
</li>
{/if}
{/foreach}
</ul>
{/function}
{mymenu categories=$wa->shop->categories()}
Пробовал такую конструкцию:
Выводит просто списком категории. Взял из шпаргалки:
Выдает ошибку. Сейчас разбираюсь только с синтаксисом. Как найду решение, сообщу. По логике: