Výpis hierarchického menu z výčtových zdrojů
Předpokládáme, že _template.root_menu
je výčtový datový zdroj obsahující první úroveň menu.
Výpis je rekurzivní, při opakovaném volání šablony v režimu node
se mění parametr reprezentující aktuální sekci (pojmenovaný také node
).
Vždy se vypíše odkaz na tuto sekci, a pokud je tato sekce předkem aktuální sekce, vypíšo se všechny její podsekce. K tomu se volá iterace přes zdroj, který je obsažený v této sekci a má systémový název menu
.
Fragmenty kódu
Defaultní režim šablony
<ul>
{while _template.root_menu}
{_template mode="node" node=_.asset}
{/while}
</ul>
Režim "node"
<li>
<a href="{value(target(node), link(node)}">{node.title}</a>
{if isParent(node, _primary)}
{while node.menu}
{whilefirst}<ul>{/whilefirst}
{_template mode="node" node=_.asset}
{whilelast}</ul>{/whilelast}
{/while}
{/if}
</li>