web-dev-qa-db-fra.com

Joomla 3 - Comment appeler une fonction sur la sauvegarde de module?

J'ai un module et un certain nombre de champs différents pour l'authentification avec une API.

Je souhaite effectuer l'authentification de l'API lorsque l'utilisateur clique sur le bouton Enregistrer et renvoyer un message de réussite ou d'échec en fonction de l'authentification?

Comment puis-je atteindre cet objectif dans Joomla?

1
Sergiu Tripon

Créez un plugin avec l'événement onExtensionBeforeSave et/ou onExtensionAfterSave.

public function onExtensionBeforeSave($context, $item, $isNew)
{
    // Check that we are editing our module.
    if ($context !== 'com_modules.module' || $item->module !== 'mod_example')
    {
        return true;
    }

    // Do stuff here.
    $params = new JRegistry($item->params);

    // Our stuff fails, don't save the module.
    if (!$this->doStuff($params))
    {
        return false;
    }

    return true;
}

Une autre façon, qui peut ou non convenir à votre cas, est de créer une règle de validation de formulaire dans votre module. Cela ne nécessiterait pas de plugin. Voir la documentation https://docs.joomla.org/Server-side_form_validation .

1
Sharky