it-swarm.com.de

Melden Sie sich in einem Plugin ab, das andere Plugins stört

Ich habe ein Benutzer-Plugin, das einige Aufgaben ausführt und den Benutzer dann mit $app->logout($userID, []); abmeldet.

Dies ist beabsichtigt und Teil der Funktionalität des Plugins und funktioniert gut, wenn keine anderen Plugins installiert sind.

Es verursacht jedoch Probleme, da es andere installierte Benutzer-Plugins beeinträchtigt.

Mit dem logout() -Aufruf löscht Joomla die Sitzung, leitet zur Homepage der Site weiter und beendet das Programm. Dies geschieht sofort; Der Programmablauf kehrt nicht zu dem Plugin zurück, das logout() aufgerufen hat.

Dies bedeutet, dass alle anderen Benutzer-Plugins, die nach diesem Plugin ausgeführt werden sollen, nicht ausgeführt werden.

Gibt es eine Möglichkeit, Joomla in meinem Plugin mitzuteilen, dass ich den Benutzer am Ende des aktuellen Seitenladevorgangs abmelden möchte, anstatt sofort gemäß der logout() -Methode, die wir jetzt verwenden?

Vielen Dank.

1
Simba

Die Joomla-Plugins werden so ausgeführt, wie sie im Joomla-Backend bestellt wurden. Ändern Sie die Reihenfolge - und stellen Sie sicher, dass die Reihenfolge Ihres Plugins die letzte ist. Dadurch wird sichergestellt, dass alle anderen Plugins vor Ihren ausgeführt werden.

3
itoctopus