Styling menus
In Drupal, menus are used to navigate the site and provide you with the perception that the system has pages arranged in a filesystem-like structure. Every menu has a machine name and you can manage it using the Structure | Menu section of the administration (/admin/structure/menu
).
Every time a new menu is created, using the administrative interface of Drupal, the System
module creates a new block type as well. Then, using the Block layout form, we place an instance of that menu block in a region.
Menus are rendered by the menu
theme hook and a suggestion is defined by default to allow us to provide a different template for different menus.
Note
You can use a render array to enforce which suggestion to select by using its name in the #theme
key. For example, the block that exposes the main
menu uses menu__main
for the #theme
key. If the suggested file doesn’t exist, Drupal falls back to the base theme hook (menu
, in this case).
For the main
menu...