Fehler: Uncaught PHP Exception Error: "Call to a member function getRelated() on null
Produkt: Open Sauce Contao
Contao-Version: 4.13.13
Browser und Browserversionen: Google Chrome Version 107.0.5304.107 (Official Build) (64-bit)
Sehr geehrte Damen und Herren,
seit nunmehr einer knappen dekade nutzen wir für die Homepage unseres Gymnasiums dankend und begeistert das OpenSauce-Theme als mobiles Layout.
Da nun ein Update auf php8.1 ansteht, welches soweit auch erfolgt ist, haben wir das Problem, dass bei Aufruf der Seite leider nur die generische Contao-Fehlermeldung erscheint. (Selbiges Problem besteht analog beim Tao Theme)
Der korrespondierende Fehler des im Log lautet:
[2022-11-16T17:08:28.588222+01:00] request.INFO: Matched route "tl_page.2.root". {"route":"tl_page.2.root","route_parameters":{"_token_check":true,"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","_format":"html","_canonical_route":"tl_page.2","parameters":"","pageModel":{"Contao\\PageModel":[]},"_route":"tl_page.2.root","_route_object":{"Symfony\\Component\\Routing\\Route":[]}},"request_uri":"https://contao4.dev.local/","method":"GET"} []
[2022-11-16T17:08:28.590245+01:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2022-11-16T17:08:28.595190+01:00] request.CRITICAL: Uncaught PHP Exception Error: "Call to a member function getRelated() on null" at /srv/www/contao4/lkg/vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php line 102 {"exception":"[object] (Error(code: 0): Call to a member function getRelated() on null at /srv/www/contao4/lkg/vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php:102)"} []
Das übergebene Objekt in $objLayout ist Hierbei vom Typ Contao\LayoutModel und auf den ersten Blick ohne tiefere Kenntnis in Contao, korrekt angelegt.
Vielen Dank und mit freundlichen Grüßen
Alexander
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by RockSolid Theme... on 17 Nov, 2022 01:30 PM
Vielen Dank für Ihre Frage.
Bitte prüfen Sie ob eine Erweiterung oder eine eigene Anpassung den Contao-Hook
getPageLayout
registriert hat.2 Posted by Alexander on 17 Nov, 2022 02:04 PM
Ja, dies ist leider tatsächlich der Fall; der hook wird von mobile_page_layout verwendet. Die Nutzung des moduls diente auch bei uns der backwards-compatibility, hat aber bisher funktioniert.
Dementsprechend gehe ich davon aus, dass das Problem nicht am Theme liegt, entschuldige mich dafür, dass ich hier an der falschen Stelle gelandet bin und danke nachhaltig dafür, in die richtige Richtung gewiesen worden zu sein :)
Support Staff 3 Posted by RockSolid Theme... on 17 Nov, 2022 02:43 PM
Die Erweiterung
contao/mobile-page-layout-bundle
sollte in der neuesten Version mit Contao 4.13 kompatibel sein.Eventuell ist in der Datenbank eine
mobileLayout
-ID hinterlegt welche jedoch nicht mehr existiert? Dies könnte die erwähnte Fehlermeldung verursachen.4 Posted by Alexander on 18 Nov, 2022 10:17 AM
Letzteres passiert immer beim löschen oder updaten des mobilen Themes, habe ich aber mehrfach überprüft.
Interessant ist hierbei, dass der Fehler unter php7.4 nicht besteht, unter php8.1 (8.1.12) jedoch in der Form wie in Post 1 erwähnt auftritt.
Support Staff 5 Posted by RockSolid Theme... on 18 Nov, 2022 10:26 AM
Nachdem das mobile Theme gelöscht wird, muss in den Seitenstruktur bei allen betroffenen Seiten das mobile Layout neu zugewiesen werden.
Der Fehler sollte dennoch in der Erweiterung behoben werden, da ein fehlendes mobiles Layout einfach ignoriert werden sollte. Erstellen Sie dafür bitte ein Ticket auf GitHub: https://github.com/contao/mobile-page-layout-bundle/issues