Créer un menu de catégories du catalogue

La création d'un menu de catégories/sous catégories du catalogue est très simple a réaliser avec le widget data catalog.

Nous utiliserons le context suivant : ['category' => 'subcategory'] qui retournera un tableau des catégories + un tableau enfant des sous catégories.

Vous devez d'abord créer le conteneur du menu, dans notre exemple nous allons utiliser le fichier sidebar.tpl du dossier section.

{widget_catalog_data
        conf = [
        'context' => ['category' => 'subcategory']
        ]
        assign="sidebarData"
        }
{if $sidebarData}
<div id="nav-sidebar">
{include file="catalog/loop/sidebar.tpl" data=$sidebarData}
</div>
{/if}

 Je vous conseil de créer un dossier nommé loop dans le dossier du module courant pour y placer le fichier contenant la boucle

Boucle des catégories et de leurs sous catégories

{$listing = $data}
{if is_array($listing) && !empty($listing)}
    <ul class="nav nav-pills nav-stacked">
        {foreach $listing as $key => $value}
            <li{if $smarty.get.idclc == $value.id} class="active"{/if}>
                <a href="{$value.url}" title="{#show_page#|ucfirst}">
                    {$value.name|ucfirst}
                </a>
                {if $value.subdata != null}
                    <ul>
                        {foreach $value.subdata as $subkey => $item}
                            <li>
                                <a href="{$item.url}" title="{#show_page#|ucfirst}">
                                    {$item.name|ucfirst}
                                </a>
                            </li>
                        {/foreach}
                    </ul>
                {/if}
            </li>
        {/foreach}
    </ul>
{/if}

 

Informations sur : Créer un menu de catégories du catalogue ?