Lesedauer < 1 Minute

Beim Update von PHP 5.2 auf PHP 5.4 kommt es bei Joomla 1.5.8 und wahrscheinlich auch weiteren Versionen des 1.5er-Zweigs zu einem ärgerlichen Fehler:

Im Backend werden Untermenüs nicht mehr angezeigt, obwohl im Frontend alles komplett ist.

Der Grund dafür:
Der automatische Class-Loader von Joomla schlägt fehl und das JHTMLMenu Objekt wird nicht erzeugt.

Durch Einfügen der blau hinterlegten Zeilen in der Datei

/libraries/joomla/html/html.php

lässt sich das Problem beheben:

joomla-missing-menu-itemsjpg

Die Zeilennummern können bei Joomla > 1.5.8 variieren. Am besten sucht man nach “return call_user_func_array” und fügt die Zeilen unmittelbar darüber ein.

Der Patch erzeugt das JHTMLMenu-Objekt explizit neu und ruft die Funktion .treerecurse() mit den entsprechenden Parametern auf. Genau diese Funktion rendert die Anzeige der Untermenüs.

Hier noch einmal zum Kopieren und Einfügen:

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!