Dynamic Drupal Menu Items with Menu Derivatives: A Guide by Kevin Gautreau
Kevin Gautreau’s blog post explores how to generate Drupal menu items dynamically using a menu derivative plugin. While menu links are often defined manually in .links.menu.yml files—pointing to nodes, views, or static routes, Kevin demonstrates a more scalable approach. By defining a parent menu item and attaching a deriver class, Drupal can automatically create submenu entries for all nodes of a specific content type, eliminating repetitive configuration and keeping menus synchronised with site content.
His example walks through implementing a SectionMenuLinkDeriver class that queries nodes of type page_de_section, generates routes and labels, and attaches them under a parent menu. Once caches are cleared, Drupal automatically builds the full submenu structure. Kevin notes that this pattern can be expanded beyond node lists—for categories, member directories, or any dataset—making dynamic menu generation a powerful technique for Drupal developers.

