Za pomocą aplikacji "Zarządzanie menu" możesz tworzyć i dostosowywać różne menu dla frontendu swojej witryny.
Możesz ustawić strukturę nowego menu za pomocą prostego edytora wizualnego. Automatyczne generowanie linków do poszczególnych sekcji witryny (np. kategorii sklepu), dostępne za pomocą instalowanych wtyczek.
Po utworzeniu struktury możesz ją przetestować w sekcji Informacje.
Jeśli motyw projektu nie obsługuje domyślnej aplikacji, będziesz potrzebować podstawowej znajomości układu HTML, aby zmodyfikować szablony.
Za pomocą następującego kodu można uzyskać tablicę elementów określonego menu. Zauważ, że $menu_id to ID określonego menu.
{$items = $wa->menu->get($menu_id)}
Następnym krokiem jest utworzenie struktury HTML menu. Najprostszym sposobem na to jest użycie funkcji wa_print_tree, która wyświetli zagnieżdżoną strukturę list UL:
{wa_print_tree tree=$items elem=':name'}
Nieco bardziej zaawansowanym sposobem jest użycie pętli Smarty, takich jak .
<nav class="menu">
{* pętla przez elementy najwyższego poziomu *}
{foreach $items as $item}
<div class="menu-item">
{* renderowanie linku *}
<a href="{$item.url}">{$item.name}</a>
{* element może mieć elementy zagnieżdżone *}
{if !empty($item.childs)}
<div class="menu-item-childs">
{* pętla na elementach drugiego poziomu *}
{foreach $item.childs as $child}
<div class="menu-item-child">
{* renderowanie linku *}
<a href="{$item.url}">{$item.name}</a>
{* dalej mogą być jeszcze zagnieżdżone elementy: {$child.childs} etc. *}
</div>
{/foreach}
</div>
{/if}
</div>
{/foreach}
</nav>
Aplikacja wykorzystuje pamięć podręczną w celu zmniejszenia obciążenia serwera. Możesz zmienić czas życia pamięci podręcznej na stronie ustawień.
Domyślnie używana jest pamięć podręczna plików.
Dla każdej pozycji menu można określić cel - na przykład, aby otworzyć w nowej karcie. Należy pamiętać, że aby to działało, potrzebna jest integracja z szablonem. Jeśli Twój szablon nie obsługuje tej opcji, musisz dodać kod następującego formularza podczas wyświetlania linku:
{if $link.target}target="{$link.target}"{/if}
Przykład:
{if count($pages)}
{foreach $pages as $p}
<div class="footer-menu__item">
<a class="footer-menu__link" href="{$p.url}" {if $p.target}target="{$p.target}"{/if}>{$p.name}</a>
</div>
{/foreach}
{/if}