Pular para o conteúdo principal

Menu

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.

Argumentos disponíveis
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.