logo

Extra Block Types (EBT) - Nieuwe Layout Builder ervaring❗

Extra Block Types (EBT) - gestileerde, aanpasbare bloktypes: Slideshows, Tabs, Cards, Accordions en vele andere. Ingebouwde instellingen voor achtergrond, DOM Box, javascript-plugins. Ervaar vandaag al de toekomst van layout building.

Demo EBT-modules Download EBT-modules

❗Extra Paragraph Types (EPT) - Nieuwe Paragraphs ervaring

Extra Paragraph Types (EPT) - analoge op paragrafen gebaseerde set modules.

Demo EPT-modules Download EPT-modules

Scroll

Een link toevoegen aan het menu

04/10/2025, by Ivan

Menu

Nu we een placeholder voor onze module-instellingspagina hebben gemaakt, laten we een menulink toevoegen. De onderstaande instructies laten zien hoe je een menulink maakt naar de hello_world-module in de sectie «Ontwikkeling» op de pagina «Beheer > Configuratie» (http://example.com/admin/config).

Maak in de hoofdmap van je module een nieuw bestand met de naam hello_world.links.menu.yml en voeg het volgende toe:

hello_world.admin:
  title: 'Hello module settings'
  description: 'example of how to make an admin settings page link'
  parent: system.admin_config_development
  route_name: hello_world.content
  weight: 100

Let erop dat de eerste regel een naamruimte reserveert, net zoals in ons voorbeeld van een routing-bestand. Let ook op het gebruik van onze routenaam in regel 5 (we gebruiken de naamruimte uit de eerste regel van het voorbeeld van het routing-bestand). Titel en beschrijving worden weergegeven in de sectie «Ontwikkeling». Merk op dat de parent-regel de bovenliggende menulink beschrijft. Met andere woorden: de menulink wordt gemaakt onder admin, config, development.

Dit voegt een link toe naar het pad dat is opgegeven in hello_world.content (in dit voorbeeld hello_world.routing.yml) op de beheerpagina’s van je site op het tabblad «Configuratie» (URL /admin/config) in de sectie «Ontwikkeling». Uiteraard moet je de cache legen om de wijzigingen van kracht te laten worden.

Na het legen van de cache vind je de menulink «Hello module-instellingen» in de sectie «Ontwikkeling» van de configuratiepagina. Wanneer je op de link klikt, wordt de hello_world-module aangeroepen.

Extra tips

Het .links.menu.yml-bestand is behoorlijk flexibel. Je kunt het ook gebruiken om te linken naar externe bronnen of via een link:

hello_world.admin:
  title: 'Hello module settings'
  description: 'example of how to make an admin settings page link'
  parent: system.admin_config_development
  url: http://example.com/this-is-some-example
  weight: 100
hello_world.admin2:
  title: 'Hello module settings'
  description: 'example of how to make an admin settings page link'
  parent: system.admin_config_development
  url: internal:/some-internal-path

Niet bewerkbaar:

Merk op dat wanneer je menulinks maakt via yml-bestanden en aangepaste modules op deze manier, je niet-bewerkbare menulinks in de gebruikersinterface krijgt. Je kunt de links alleen wijzigen via het yml-bestand. Ze worden beschouwd als module-gestuurd, niet als beheerderslinks. Wanneer je op de knop bewerken klikt voor een menu-item, krijg je het bericht «Deze link wordt geleverd door module XXX. Titel en pad kunnen niet worden bewerkt».

not-editable-menu-link

Om bewerkbare menulinks te maken, moet je dit ongeveer zo doen:

  $my_menu = \Drupal::entityTypeManager()->getStorage('menu_link_content')
    ->loadByProperties(['menu_name' => 'my-menu-name']);
  foreach ($my_menu as $menu_item) {
    $parent_id = $menu_item->getParentId();
    if (!empty($parent_id)) {
      $top_level = $parent_id;
      break;
    }
  }
  $men