Joomla 4 Menu Item Params Fehler

Das lang erwartete Major-Update Joomla 4 wird langsam auf immer mehr Seiten verwendet. Die Umstellung von selbst entwickelten Templates ist jedoch häufig nicht ganz einfach.

Das Backend läuft aber im Frontend hakt es?

Endlich ist die Migration von Joomla 3 auf die Version 4 fehlerfrei durchgelaufen und dann schockt der Blick ins Frontend. Es wird nur ein Fehler angezeigt:

Cannot access protected property Joomla\CMS\Menu\MenuItem::$params

Dieser Fehler basiert auf der Umstellung der Nutzung von geschützten Objektwerten (params:protected). Bekannt ist das Problem schon seit einer Weile und es wurde auch gefordert die alte Vorgehensweise updatesicher zu machen: https://issues.joomla.org/tracker/joomla-cms/30463. Der Hinweis wurde aber anscheinend nicht berücksichtigt.

Deswegen kann auf diese nicht mehr wie gewohnt zugegriffen werden. Die alt bekannte Variante sieht so aus:

$item->params->get(‚aliasoptions‘)

Stellen Sie einfach Ihre Codestellen wie folgt um:

(int) $item->getParams()->get(‚aliasoptions‘);

Diese Methode zur Steuerung der geschützten Werte gab es schon vorher, musste aber nicht in Verbindung mit den Menü Items genutzt werden. Zusätzlich wird hier noch nach Integer gecastet, damit der Wert auch problemlos typensicher weiterverarbeitet werden kann.

Das sollte das Problem beheben und die Seite wie gewohnt rendern. Bei weiteren Fragen können Sie sich gerne bei uns melden: info@convivo.com