web-dev-qa-db-fra.com

Action personnalisée sur l'opération de blocage d'utilisateur dans la gestion des utilisateurs

Je développe une application dans laquelle je souhaite effectuer une action sur le blocage d’utilisateur à partir de l’écran de gestion Joomla User.
Dans le composant MVC personnalisé, nous utilisons un fichier situé dans le dossier tables.
Alors que le composant com_users de joomla gère les choses différemment, tout le monde peut-il expliquer comment je peux effectuer une opération de base de données lorsque nous bloquons un utilisateur par l'administrateur.

En fait, j'ai également besoin d'une aide similaire pour la fonctionnalité de désactivation de catégorie, comme je souhaite effectuer certaines opérations de base de données en fonction de l'activation ou de la désactivation de la catégorie.

Guidez-moi s'il-vous-plaît. Merci

4
Info Truth

Cette réponse est peut-être trop tard pour vous, mais vous pouvez vous y référer à l'avenir. Si vous êtes un développeur Joomla, vous devez être au courant des plug-ins et des déclencheurs sur lesquels ils fonctionnent, pour toute modification du bloc utilisateur, de la mise à jour, de la suppression, etc. Joomla déclenche des événements à partir du plug-in utilisateur (voir ici => événements du plug-in utilisateur ) ( Événements du plug-in Joomla ) Dans votre cas, vous pouvez utiliser onUserBeforeSave ou onUserAfterSave mieux à utiliser avant l'enregistrement, car il vous sera plus facile de trouver le changement de la valeur.

public function onUserBeforeSave($oldUser, $isnew, $newUser)
{
    var_dump($oldUser, $isnew, $newUser);
    die;
}

$ OldUser donne les anciennes valeurs et $ newUser donne les nouvelles valeurs dont vous avez besoin pour appliquer la condition correcte à vos opérations uniquement lorsque la condition correspond au bloc utilisateur. En outre, la méthode onUserBeforeSave si vous renvoyez la valeur false, l'utilisateur ne sera pas mis à jour, mais si vous utilisez la méthode onUserAfterSave, vous obtiendrez l'objet utilisateur mis à jour et vous devrez utiliser votre propre logique pour rechercher le changement de valeur.

Je demanderai à tous les utilisateurs de la communauté de fournir des réponses à leurs questions s'ils ont trouvé une solution à la requête qu'ils signalent. Nous pouvons apprendre et grandir ensemble.

2
Pratyush