
Wie man Menüelemente in Drupal 7 programmatisch erstellt
Wenn Sie bei Websites, die auf Drupal basieren, codegetriebene Entwicklung verwenden, müssen Sie manchmal ein Menü oder ein Menüelement programmatisch in hook_update_N erstellen.
Wir verwenden diesen Entwicklungsansatz häufig, wenn wir im Rahmen unserer Drupal-Support-Dienstleistungen eine große Anzahl von Änderungen vorbereiten, die alle auf einmal bereitgestellt werden sollen. Es ist auch nützlich, wenn Sie in einem CI-Setup eine Unternehmenswebsite auf Drupal erstellen und diese mit aus Code generierten Dummy-Daten füllen möchten.
Die folgenden Code-Snippets zeigen Ihnen, wie das in Drupal 7 funktioniert.
Wie man ein Menü programmatisch erstellt:
$menu = array( 'menu_name' => 'header-top-menu', // Maschinenname des Drupal-Menüs 'title' => 'Header-Top-Menü', // Anzeigename des Drupal-Menüs 'description' => 'Header-Top-Menü', // Optionale Menübeschreibung ); menu_save($menu);
Wie man einen Menülink programmatisch erstellt:
$node = node_load(123); // Lädt einen Knoten aus der Datenbank und verwendet ihn für den neuen Menülink. $item = array( 'link_path' => 'node/' . $node->nid, 'link_title' => $node->title, 'menu_name' => 'header-top-menu', // Maschinenname des Menüs, zum Beispiel: main-menu 'weight' => 0, 'language' => $node->language, 'plid' => 0, // Übergeordnetes Menüelement, 0 wenn Menüelement auf oberster Ebene 'module' => 'menu', ); menu_link_save($item);
Denken Sie daran, dass Sie diesen Code mit dem Devel-Modul auf der Seite /devel/php testen können, bevor Sie hook_update_N ausführen.