Карта сайта html, дерево категорий

Добрый день, мне необходимо сделать html карты сайта, то есть вывести все дерево категори. Попробовал следующую конструкцию:

{wa_print_tree tree=$wa->shop->categories(0,null,null) ... }

но категории выводятся одноуровневым списком <ul><li></li></ul>

Я так понял это из-за функции categories. Получается вопрос в том как получить массив всех категорий, с уровнем вложенности?


3 ответа

  • 1
    http://www.webasyst.ru/developers/docs/basics/smarty-plugins/#method-wa_print_tree
  • 1
    Elena 19 июля 2016 11:52 #

    Это карта сайта, приложения "магазин", которые выводят разделы магазина, а как сюда добавить информационные страницы приложения "магазин", "сайт" , "блог" , "фото" и т.д. ?

  • 0
    23 июня 2014 14:08 #
    помогло это, иначе список был одноуровневым

    <!-- category tree -->
    {if $categories = $wa->shop->categories(0)}
    {$temp_depth=1}
    {foreach $categories as $c}
    {if $c.depth > $temp_depth}
    <ul class="menu-v category-tree">
    {elseif $c.depth == $temp_depth}
    </li>
    {elseif $temp_depth > $c.depth}
    {for $i = 1 to ($temp_depth - $c.depth)}
    </li></ul>
    {/for}
    </li>
    {/if}
    <li{if isset($category) && $category.id == $c.id} class="selected"{/if}><a href="{$c.url}">{$c.name}</a>
    {$temp_depth=$c.depth}
    {/foreach}
    {for $i = 1 to $temp_depth}
    </li></ul>
    {/for}
    </li></ul>
    {/if}
    • +1
      * обратите внимание на аргументы метода $wa->shop->categories(); подробности см. в файле wa-apps/shop/lib/classes/shopViewHelper.class.php

      {if isset($category)}{$selected = $category.id}{else}{$selected = null}{/if}
      {wa_print_tree tree=$wa->shop->categories(0, null, true) elem='<a href=":url">:name</a>' class="category-tree" collapsible_class="parent" unfolded=true selected=$selected}

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

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