Menus in Drupal – Tutorial für Anfänger


Das Menusystem in Drupal kann manchmal ein wenig verwirrend sein, aber hier möchte ich doch mal in ein paar wenigen Schritten zeigen, wie es jedem gelingt, eine Menu in Drupal zu bauen.
Per Default wird man dort bereits einige Menus finden. Für uns wichtig sind vorerst mal das "Navigation" Menu und das "Primary Link". Diese beiden Menus sind oftmals auch bereits im Theme eingebetet:
Navigation: Dieses Menu enthält eigentlich alle Links, um Drupal zu bedienen. Wenn man neue Modul installiert, dann ist deren Funktionalität dort sichtbar. Je nach Berechtigung fällt das Menu grösser oder kleiner aus. Als Admin tut man jedoch gut daran Admin Menu oder etwas vergleichbares zu installieren, da es einfach viel komfortabler ist.
Primary Links: Ist ein leeres Menu. Im Theme ist meistens ein Plätzchen für die Primary Links vorgesehen.

Seite hinzufügen – Wie?
So, ich habe also eine Page geschrieben. Jetzt möchte ich diese Seite im Menu verlinken. Grundsätzlich gibt es zwei Möglichkeiten:

  1. Den Menueintrag direkt an die Seite koppeln
  2. Den Menueintrag manuell erstellen

1. Menueintrag an eine Seite koppeln
Beim Erstellen einer Seite gibt es eine Option "Menu settings". Dort kann direkt ein Menueintrag gemacht werden.

Wenn man jetzt in die Menuübersicht für Primary Links geht wird man sehen, dass es dort den entsprechenden Eintrag gibt. Zudem wird man dort wo die Primary Links platziert sind, den entsprechenden Eintrag finden.

2. Menueintrag manuell erstellen
Dies funktioniert eigentlich sehr ähnlich: Die Seite wird zuerst erstellt ohne eine Angabe zu den Menueinstellungen zu machen. Jetzt wechseln wir wieder zu den Primary Links und klicken dort auf "Add Item".

Pfad und Menulink Title angeben und schon ist das Menu gemacht. Wichtig: Der Pfad muss bereits existieren! Ich kann also nicht einfach mal ein paar Menu Items anlegen und dann im nachhinein die Seiten dazu anlegen.

Menus und Views – Vorsicht!
Menus und Views ist so eine Sache… Wenn man eine Views erstellt, hat man auch dort die Möglichkeit, ein Menu gerade automatisch hinzuzufügen, was eigentlich auch eine ziemlich coole Sache wäre. Was passiert nämlich: Es wird ein Menueintrag angelegt, welcher jedoch direkt mit der Views verbunden ist, will heissen, wenn ich die entsprechende Views lösche, dann lösche ich auch den Menueintrag.
Es kann jedoch manchmal sehr komische Auswirkungen haben: Die Views wird gelöscht, der Menueintrag jedoch nicht. Da jedoch die Views und somit der Pfad nicht mehr vorhanden ist, erscheint das Menu nicht mehr in der Auflistung in dem jeweiligen Menu -> das Menu ist zwar noch in der Datenbank, kann aber nicht mehr bearbeitet werden. Wenn ich jetzt eine neue Views anlege, welche unter dem gleichen Pfad liegt, dann erscheint der Menupunkt plötzlich wieder.
Bei nur wenigen Views und Menupunkten, wird man schon Wege und Lösungen finden, wenn jedoch viele Views vorhanden sind, dann empfinde ich es als sehr verwirrlich. Ich habe mir daher angewöhnt, dass ich für Views die Menueinträge immer von Hand mache, damit ich auch die volle Kontrolle drüber habe. Ist vielleicht nicht ganz so elegant und ein wenig aufwändiger, dafür weiss ich genau was passiert.

Einige Klassikerprobleme mit dem Menu
Von denen gibt es eigentlich zwei:

  1. Ich habe ein mehrstufiges Menu, aber das Menu klappt nicht auf, wo es sollte.
  2. Ich habe ein Menu, aber der aktive Pfad wird nicht richtig angezeigt.

Zugfahrt ist zuende… Vortsetzung folgt. Es ist aber nicht so schwer, wie man denken könnte.