web-dev-qa-db-fra.com

Déconnexion dans le plugin interférant avec d'autres plugins

J'ai un plugin utilisateur qui effectue certaines tâches, puis déconnecte l'utilisateur à l'aide de $app->logout($userID, []);.

Cela est intentionnel et fait partie de la fonctionnalité du plugin, et fonctionne bien si aucun autre plugin n'est installé.

Cependant, cela pose des problèmes car il interfère avec les autres plugins utilisateur installés.

Avec l'appel logout(), Joomla efface la session, redirige vers la page d'accueil du site et quitte le programme. Cela se produit immédiatement. le flux de programme ne retourne pas dans le plug-in appelé logout().

Cela signifie que tous les autres plugins utilisateur configurés pour s'exécuter après celui-ci ne sont pas exécutés.

Existe-t-il un moyen de dire à Joomla depuis mon plug-in que je souhaite déconnecter l'utilisateur à la fin du chargement de la page en cours, plutôt que immédiatement, conformément à la méthode logout() que nous utilisons maintenant?

Merci.

1
Simba

Les plugins Joomla fonctionnent comme ils ont été commandés dans le backend de Joomla. Modifiez la commande - et assurez-vous que la commande de votre plug-in est la dernière. Cela garantira que tous les autres plugins seront exécutés avant le vôtre.

3
itoctopus