Fünfter Schritt - Das Menu
Die verschiedenen Menus des Systems werden über ein eigenes Modul realisiert. Das Modul bietet daher auch das normale Seitenmenu als Action an. Das einfügen des Menus erfolgt über eine so genannte Inline Action, eine Action deren Ausgabe an einer bestimmten Stelle über ein Keyword ins Template gerendert wird.
Smarty
Das eigentliche Markup wird in SMARTY in der Datei
gebaut:
Keyword
An der Stelle in Template an welcher das Menu ausgegeben werden soll, reicht daher das Keyword:
<div>
...
{$menu}
...
</div>
...
{$menu}
...
</div>
Inline Action
Das füllen des Keywords mit der Ausgabe der Action erfolgt über die Zuordnung in der INI Datei des Layouts (z.B. /templates/<your layout>/configs/config.ini):
[InlineActions]
content.menu.action = "cms";
content.menu.module = "menu";
Smarty
Das eigentliche Markup wird in SMARTY in der Datei
templates/<your layout>/modules/menu/cms.tpl
gebaut:
{* Menü Snippet. Hiermit wird das Hauptmenü gerendert*}
{if count($menu)}
<ul class="{if $active}active {/if}menu m_depth_{$depth}">
{foreach item="treeitem" from="$menu"}
<li class="{if $treeitem.active}active {/if}{if $treeitem.child_active}active {/if}m_depth_{$depth}" >
<a class="{if $treeitem.active OR $treeitem.child_active}active {/if}" href="{$treeitem.link}">
<span class="button_navi">
<span class="bl"><span class="blinner"> </span></span>
<span class="bm">
<span class="bminner">
{$treeitem.titel}
</span>
</span>
<span class="br"><span class="brinner"> </span></span>
</span>
</a>
{include file=$snippetpath menu=$treeitem.children depth=$depth+1 active=$treeitem.child_active}
</li>
{/foreach}
</ul>
{/if}
{if count($menu)}
<ul class="{if $active}active {/if}menu m_depth_{$depth}">
{foreach item="treeitem" from="$menu"}
<li class="{if $treeitem.active}active {/if}{if $treeitem.child_active}active {/if}m_depth_{$depth}" >
<a class="{if $treeitem.active OR $treeitem.child_active}active {/if}" href="{$treeitem.link}">
<span class="button_navi">
<span class="bl"><span class="blinner"> </span></span>
<span class="bm">
<span class="bminner">
{$treeitem.titel}
</span>
</span>
<span class="br"><span class="brinner"> </span></span>
</span>
</a>
{include file=$snippetpath menu=$treeitem.children depth=$depth+1 active=$treeitem.child_active}
</li>
{/foreach}
</ul>
{/if}