it-swarm.com.de

Wie man einen Fehler in Joomla 3.5 abfängt (Alternative zu JError)

Ich habe die Exception Methoden gelesen, um das veraltete JError zu ersetzen, kann aber das folgende Problem nicht lösen:

Ich habe ein Plugin, das einen Benutzer auf eine Anmeldeseite umleitet, falls er versucht, auf eine Seite für einen angemeldeten Benutzer zuzugreifen (anstatt die Meldung "Sie sind nicht berechtigt, diese Ressource anzuzeigen" zu erhalten).

Früher hat es funktioniert, als JError noch in der Nähe war (vor J3). Der Code war wie folgt:

Error::setErrorHandling(E_ERROR, 'callback', array(
    'plgSystemCustom_Redirects',
    'handleError'
));

Und im Rest des Skripts hatte ich die Funktion handleError.

Ich bezweifle hier (im Gegensatz zu allen anderen Beispielen, die ich gelesen habe), wie der Fehler abgefangen werden kann (ich kann kein try ausgeben). Mit anderen Worten, wie kann man den veralteten Code durch etwas ersetzen, das in Joomla 3.5 funktioniert?

4
jackJoe

Es gibt keine Alternative zu JError- und JException-Klassen. Die Joomla-Entwicklung hat beschlossen, diese Klassen zu entfernen und stattdessen die PHP-Ausnahme zu verwenden. Schauen Sie sich die veraltete JError-Tabelle an.

Meiner Meinung nach haben Sie zwei Möglichkeiten:

  • Schreiben Sie Ihr Plugin mit dem PHP Exception Handler neu
  • Überdenken Sie Ihr Plugin mit JLog-Klasse

Hier einige interessante Diskussionen und Ressourcen zu diesem Thema:

Hoffe das wird dir helfen.

3
Kitase88

Seit Joomla 2.5 und Joomla 3.5 können Sie die in https://docs.joomla.org/Auto_redirect_guests_to_login beschriebenen Motten verwenden, um Ihre Funktion zu verwalten. Sie müssen kein Plugin hinzufügen! Ich verwende dies auf meiner Site https://www.loytec.com , siehe Menü Support> ProductReturn (RMA) https://www.loytec.com/support-en/rma nur mit Joomla Core-Tools.

0
Tom Kuschel