J!-Blog

Nach dem Ändern der PHP-Version auf 7.3 ist auf einer Joomla-Website folgender Fehler (Joomla-Fehler seit Update auf PHP 7.1+) aufgetreten:

“0 – Using $this when not in object context”

Eine schnelle Untersuchung ergab, dass dieses Problem durch einen älteren Code im Template verursacht wurde. Der Wechsel zu einem anderen Template bestätigte dies. Ein kurzer Blick auf den Code zeigte, dass der Fehler nicht in der Hauptdatei index.php des Templates enthalten ist. Deshalb habe ich den Ordner html (der unter templates/[dein-joomla-template] gespeichert ist) in html_old umbenannt und das Problem war erst einmal behoben. Das bedeutet, dass das Problem in einem der Ordner unter dem HTML-Ordner ausgelöst wird. Ich habe die Verzeichnisse dann nacheinander in ordnername_alt umbenannt, bis ich den schuldigen Ordner ermittelt habe.

In meinem Fall war es der Ordner com_content. Es gab nur einen Ordner namens article unter dem Ordner com_content und es gab nur eine Datei: default.php. Ich habe diese Datei geöffnet und eine Zeile geändert:

$ menu = & JSite :: getMenu ();

zu

$ menu = JFactory :: getApplication () -> getMenu ();

Das löste mein Problem!

Ich hoffe, dass du diesen kurzen Beitrag hilfreich findest. Wenn du das gleiche Problem auf deiner Joomla-Website hast, ist es sicherlich auch ein alter Code im Joomla-Template. Wenn du es nicht schaffst, den veralten Code in deinem Template zu korrigieren, dann komme zu einem unserer Treffen. Wir werden das Problem zusammen schnell und fachkundig lösen!