J'ai lu les méthodes Exception
afin de remplacer les obsolètes JError
, mais je ne peux pas résoudre le problème suivant:
J'ai un plug-in qui redirige un utilisateur vers une page de connexion s'il tente d'accéder à une page destinée à un utilisateur connecté (au lieu de recevoir le message "Vous n'êtes pas autorisé à afficher cette ressource.").
Cela fonctionnait quand JError était toujours là (avant J3), le code était le suivant:
Error::setErrorHandling(E_ERROR, 'callback', array(
'plgSystemCustom_Redirects',
'handleError'
));
Et dans le reste du script, j'avais la fonction handleError
.
Mon doute ici est (contrairement à tous les autres exemples que j'ai lus) comment capter l'erreur (je ne suis pas en mesure d'émettre un try
); autrement dit, comment remplacer le code obsolète par quelque chose qui fonctionne dans Joomla 3.5?
Il n'y a pas d'alternative aux classes JError et JException, le développement de Joomla a donc décidé de supprimer ces classes et d'utiliser l'exception php à la place. Jetez un coup d'œil à la table obsolète JError .
Donc, à mon avis, vous avez deux possibilités:
Voici quelques discussions et ressources intéressantes sur ce sujet:
J'espère que ceci vous aidera.
Depuis Joomla 2.5 et dans Joomla 3.5, vous pouvez utiliser les méthodes décrites dans https://docs.joomla.org/Auto_redirect_guests_to_login pour gérer votre fonctionnalité, il n'est pas nécessaire d'ajouter un plugin! J'utilise ceci sur mon site https://www.loytec.com , voir Menu Support> ProductReturn (RMA) https://www.loytec.com/support-en/rma avec les outils Joomla Core uniquement.