Zerstörtes Menü-System in Drupal 6.2 (evtl. durch Javascript?)
am 11.06.2008 - 19:04 Uhr in
Hallo Leute,
ich bin beim Testen auf einer Entwicklungsumgebung auf ein heftiges Problem mit dem Menü-System von Drupal 6.2 gestoßen.
Nach einigem Suchen auch auf Drupal.org und im großen WWW habe ich noch keine Hinweise auf mein Problem gefunden. Da ich die spätere Website ohne Probleme neu aufsetzen kann (und dies ohnehin schon vor hatte), bin ich relativ gelassen und es gibt keinen Grund zur Eile. Ich bin aber besorgt, daß mir Ähnliches, wie das im Folgenden beschriebene, auf einem Live-System passieren könnte.
Im Moment gilt für mich: Änderungen an den Menüs nur nach Backup der Datenbank!
Rekonstruktion des Auslösers:
Ich habe mit aktiviertem Javascript im Navigations-Menü in einer Drupal 6-Installation Änderungen vorgenommen. Dabei verwendete ich einen Firefox 2 auf Mac OS 10.3 der dann ein Laufzeit-Problem im Javascript bemängelte. Ich habe wahrscheinlich aus Versehen auf "Abrechen" geklickt und nicht auf "Fortsetzen". Dabei ist mir anscheinend das Menü-System zerstört worden.
Das sind die Folgen:
- Es war ein weiterer admin/build-Haupt-Eintrag entstanden mit eigener Menu-Link-ID (Feld "mlid") in der Datenbank (Tabelle "menu_links").
- Die neu entstandene MLID des falschen admin/build-Haupt-Eintrags hatten daraufhin diverse Menü-Punkte als Parent-Link-ID (Feld "plid") eingetragen, wurden aber nicht im Menü in dieser Form angezeigt.
- Andere Menüpunkte hatten Ihre eigentlich PLID verloren und waren auf Null gesetzt. Diese werden aber bis jetzt nur zum Teil in der Verwaltung des Navigations-Menüs im Backend (admin/build/menu-customize/navigation) angezeigt.
Das habe ich versucht:
Leider habe ich als erstes versucht, mit Phpmyadmin testweise per Hand das Menü zu reparieren und auch die Einträge mit PLID Null zum Teil im Backend wieder zum richtigen übergeordneten Menü-Eintrag (PLID) zu verschieben. Als ich dann Devel installiert habe, habe ich dann ein Reset des Menü-Systems ausgelöst. Dies hätte vielleicht am Anfang noch alles hätte beheben können (?), aber das kann ich nicht mehr testen.
Mit diversen Cache-Cleanings, sowie Aufrufen von cron.php und update.php usw. haben sich zwar ein paar Aspekte verändert. Aber es scheint das Menü-System grundsätzlich "verwirrt" zu sein. Beim Installieren von weiteren Modulen werden nicht alle Menü-Punkte der entsprechenden Module registriert, das Devel Menü tauchte zwar mal zwischendurch in der Custom-Menü-Liste auf, verschwand aber auch wieder. Das ist auch ein Grund dafür, warum ich meine Mühe hatte, Devel zu installieren und aufzurufen.
Nachtrag: Weil in der Beschreibung der Funktion menu_rebuild (//api.drupal.org/api/function/menu_rebuild/6) gelesen hatte, daß diese von update.php aufgerufen wird, habe ich dies (wenn ich mich recht erinnere) probiert, bevor ich dann Devel zum laufen bekam.
Vorschläge?
Es ist relativ unwichtig, warum mein Browser Probleme bekam (viele PlugIns, mehrere Websites geöffnet usw.) aber mich beunruhigt, daß eine einfache Änderung im Navigations-Menü zu so einem drastischen Chaos führen könnte, für das ich noch keine Reparatur-Methode gefunden habe. Meine einzige Idee, die ich aber aus Zeitgründen noch nicht gestestet habe, ist:
Neu installieren und alles außer den Menü-Tabellen aus der alten Datenbank zu importieren. Dafür ist vor allem noch wichtig zu wissen, welche Tabellen alle betroffen sind, auf jeden Fall auch die Tabelle "menu_router".
Kennt jemand von Euch das Problem oder weiß vor allem eine Methode, wie ich dem Problem beikommen könnte?
Bis dann,
Carsten
- Anmelden oder Registrieren um Kommentare zu schreiben

Danke fuer Deine
am 11.06.2008 - 20:12 Uhr
Danke fuer Deine Problemschilderung.
Nein ich kenne das Problem nicht. Ich fange gerade an mich in D6 einzuarbeiten. Werde nun die Menue Thematik beobachten.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Auch bei mir ist die menü-Struktur nach einem Upgrade defekt
am 02.07.2008 - 12:58 Uhr
Ich hab am am Wochenende ein Upgrade von der 5.7 auf die 6.2 vorgenommen. Menüs, die ich selbst erstellt hatte werden nicht erkannt und es ist seit dem Upgrade schierer Zufall, welche Module beispielsweise im Navigations-Menü angezeigt werden. So musste ich "Tracker" händisch einfügen, funktioniert dann auch. Eigenartigerweise tut es das Modul "Admin Menu Dropdown" perfekt, so dass ich darüber wenigstens arbeiten kann.