THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'essaie de comprendre comment est construit le menu du template défaut.

            {* define current ID *}
            {loop name="current_cat" type="category" current="yes"}
                {assign var="current_category_id" value="{$PARENT}"}
            {/loop}
            {* define the function *}
            {function menu level=0}
                {if $level == 0}
                    <ul  id="category" class="accordion">
                    {else}
                        {if $parent == $current_category_id}
                            <ul id="collapse{$parent}" class="in">
                            {else}
                            <ul id="collapse{$parent}" class="collapse">
                        {/if}
                {/if}

                    {loop name="cat-parent-$level" type="category" parent=$parent need_count_child=1}

                            {if $CHILD_COUNT> 0}
                                <li><a href="{$URL}#collapse{$ID}" class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#collapse{$ID}">{$TITLE}</a>
                                {menu parent=$ID level=$level+1}
                                </li>
                            {else}
                                <li><a href="{$URL}">{$TITLE} ({count type="product" category="{$ID}"})</a></li>
                            {/if}
                    {/loop}

                </ul>
            {/function}

            {menu parent='0'}

Le code parait simple, mais cette relative simplicité est surement dû au côté récursif de la fonction ... la ligne "{menu parent=$ID level=$level+1}" appelle déjà la fonction avant la fin de la balise {/fonction} ?

Quelqu'un peut-il m'expliquer simplement comment ça fonctionne ?
On initialise directement l'argument level dans la déclaration de la fonction > {function menu level=0} ?

Merci pour votre éclairage smile

Last edited by anti-conformiste (28-04-2014 10:15:57)