Responsável pela criação, gerenciamento e exibição de menus no site.
Os menus são organizados no Painel de Admin através de itens hierárquicos e posteriormente renderizados no template através da classe Menu.
A saída pública utiliza cache HTML automático, evitando consultas desnecessárias durante a navegação do site.
Criação de menus
Menus podem ser criados no Painel de Admin em:
Dashboard → Personalizar → Menus
O sistema permite adicionar:
- Links personalizados
- Páginas
- Postagens
- Categorias
- Itens hierárquicos
Os itens podem ser reorganizados livremente através do sistema de arrastar e soltar.
Exibição do menu
A renderização pública do menu é feita através do método Menu::list().
Menu::list([
'name' => 'principal'
]);
O argumento name deve conter o nome do menu criado no painel.
| Argumento | Descrição | Padrão |
|---|---|---|
name |
Nome do menu criado no painel. | '' |
list_id |
Define o atributo id do elemento principal da lista. |
null |
list_class |
Classe CSS do elemento principal da lista. | 'menu' |
parent_item_class |
Classe adicionada em itens que possuem submenus. | 'hasub' |
sublist_class |
Classe utilizada em listas filhas. | 'isub' |
Exemplo de saída HTML
<ul class="menu">
<li>
<a href="https://dominio.ext/">Início</a>
</li>
<li class="hasub">
<a href="https://dominio.ext/posts">Postagens</a>
<ul class="isub">
<li>
<a href="https://dominio.ext/categoria/php">PHP</a>
</li>
</ul>
</li>
</ul>
Notas
- Alterações nos itens do menu são salvas automaticamente durante a edição.
- O botão salvar atualiza o arquivo de cache HTML utilizado na saída pública do menu.
- A saída pública do menu utiliza cache HTML automático.
- Itens de autenticação são processados dinamicamente durante a renderização do menu.
- Se o menu solicitado não possuir itens cadastrados, nada será renderizado.