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 folgendem Fehler:
Im Backend werden alle Menüs ohne Checkbox aufgelistet. Es ist somit nicht mehr möglich z.B. Funktionen auf mehrere Menüpunkte gleichzeitig anzuwenden.
Der Grund dafür:
Der automatische Class-Loader von Joomla funktioniert nicht, daher wird das JHTMLGrid Objekt wird nicht erzeugt.
Durch Einfügen der grau hinterlegten Zeilen in der Datei
/administrator/components/com_menus/views/list/tmpl/default.php
lässt sich das Problem beheben:
Die Zeilennummern können bei Joomla > 1.5.8 variieren. Am besten sucht man nach “JHTML::_(‘grid_access”, kommentiert die 3 original Zeilen aus (WICHTIG!) und fügt die neuen Zeilen unmittelbar darunter ein.
Der Patch erzeugt das JHTMLGrid-Objekt explizit neu und ruf dann die Funktionen .access(), .checkedout() und .published() auf. Diese Funktionen erzeugt die HTML Checkbox mit der entsprechenden Datensatz ID und bereiten die Weiterverarbeitung markierter Zeilen vor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// MOD.start // Fixes missing checkboxes in menu manager under PHP5.4 // //$access = JHTML::_('grid.access', $row, $i ); //$checked = JHTML::_('grid.checkedout', $row, $i ); //$published = JHTML::_('grid.published', $row, $i ); $c = new JHTMLGrid(); $access = $c->access($row, $i ); $checked = $c->checkedout($row, $i ); $published = $c->published($row, $i ); // // MOD.end |
Oops …. looks like the HTML editor shredded this post. Fixed it – thanks!