Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Benutzerhandbuch › Entwicklung von Modulen und Themes › Leitfaden zur Entwicklung von Modulen › Erstellen von Modulen für Drupal 6.x › Das Menüsystem von Drupal ›

Übersicht des Menüsystems

Eingetragen von stBorchert (6003) am 16.01.2009 - 14:08 Uhr in
  • Drupal 6.x

Dies ist eine Übersetzung der Seite Menu system overview auf drupal.org.

In hook_menu() definierst Du ein Menü-Array, dass ein assoziatives Array ist. Die Schlüssel sind Pfade von Drupal (mit einer Besonderheit; siehe wildcards) und die Werte sind die Menüpunkte. Ein Menüpunkt ist dabei wiederum ein assoziatives Array. Ein typischer Eintrag sieht folgendermassen aus:

<?php
  $items
['node/%node'] = array(
   
'title' => 'View',
   
'page callback' => 'node_page_view',
   
'page arguments' => array(1),
   
'access callback' => 'node_access',
   
'access arguments' => array('view', 1),
   
'type' => MENU_CALLBACK,
  );
?>

Der "Menu builder" sammelt diese, wendet die Vererbungsregeln darauf an und speichert jeden einzelnen Eintrag als Zeile in der Menütabelle.

Wenn nun eine Seite aufgerufen wird, erzeugt das Menüsystem den übergeordneten Eintrag des gegebenen Pfades und sucht in der Datenbank nach dem Menüeintrag, der am besten zu dem Pfad passt. Daraufhin ruft es denn entsprechenden access callback auf, um die Berechtigungen auf diesen Eintrag zu ermitteln. Wenn das alles ermittelt wurde, wird die Verarbeitung an den "page callback" weitergereicht.

Das System stellt fest, dass ein Pfad nicht gefunden werden kann, wenn kein zugehöriger Eintrag in der Datenbank gefunden oder die node nicht geladen werden kann (siehe see Ersetzung dynamischer Argumente). Der Status "Zugriff verweigert" wird ausschliesslich durch die access callback bzw. Argumente ermittelt.

Die "page callback" Funktion muss einen Wert ungleich NULL zurückgeben, wenn irgendeine Ausgabe im Browser unter einer gegebenen URL angezeigt werden soll. Wenn die Funktion keinen Wert oder NULL zurückgibt, rendert Drupal nur den Inhalt, der durch die Funktion drupal_page_footer
erzeugt wurde (was wiederum der erstellte Ihnalt der hook_exit Implementierung aller Module ist).

‹ Platzhalter Argumente nach oben Verwendung von Icons ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Tag 3 Stunden
  • Hey danke
    vor 1 Tag 22 Stunden
  • Update: jetzt gibt's ein
    vor 2 Tagen 16 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 1 Stunde
  • Da scheint die Terminologie
    vor 1 Woche 4 Stunden
  • Kannst doch auch alles direkt
    vor 1 Woche 4 Tagen
  • In der entsprechenden View
    vor 1 Woche 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 4 Tagen
  • gelöst
    vor 4 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 Gäste online.

DrupalCenter durchsuchen:

Benutzerhandbuch

  • FAQ - Häufig gestellte Fragen.
  • Links & Downloads
  • Über Drupalcenter.de und das deutschsprachige Benutzerhandbuch
  • Über Drupal
  • Einsteiger
  • Fortgeschrittene
  • Entwicklung von Modulen und Themes
    • Das Drupal Theme System (PHPTemplate)
    • Theme Handbuch (Drupal 6)
    • 5.x Themes in 6.x konvertieren
    • Leitfaden zur Entwicklung von Modulen
      • 5.x
      • Erstellen von Modulen für Drupal 6.x
        • Erstellen von Modulen - ein Handbuch: Drupal 6.x
        • Die Verwendung der Theme-Schicht
        • .info Dateien schreiben
        • .install Dateien schreiben
        • Schreiben von actions (Aktionen)
        • Das Menüsystem von Drupal
          • Anatomie von hook_menu
          • Mehrere Seiten unter einem dynamischen Pfad
          • Neue hooks zum Verändern von Menüpunkten
          • Platzhalter Argumente
          • Übersicht des Menüsystems
      • Verwendung von Icons
    • Module zu Drupal CVS hinzufügen
    • Resourcen für den Theming-Ninja
  • Drupalcenters Community
  • Drupal 7 Video-Trainings (Deutsch)
  • Drupal-Testumgebung erstellen
  • Drupal 6 Module
  • Drupal 7 Module
  • Drupal Screencasts auf deutsch
  • Archiv

Das Copyright des deutschsprachigen Drupal-Benutzerhandbuches unterliegt den jeweiligen Autoren. Übersetzungen des englischsprachigen Drupal-Benutzerhandbuches unterliegen der Creative Commons License, Attribution-ShareAlike 2.0.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association