it-swarm.com.de

Joomla 3 - Wie rufe ich eine Funktion beim Speichern eines Moduls auf?

Ich habe ein Modul und eine Reihe von verschiedenen Feldern für die Authentifizierung mit einer API.

Ich möchte die API-Authentifizierung durchführen, wenn auf die Schaltfläche Speichern geklickt wird, und je nach Authentifizierung eine Erfolgs- oder Fehlermeldung zurückgeben.

Wie kann ich das in Joomla erreichen?

1
Sergiu Tripon

Erstelle ein Plugin mit onExtensionBeforeSave und/oder onExtensionAfterSave Event.

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;
}

Eine alternative Möglichkeit, die in Ihrem Fall geeignet sein kann oder nicht, besteht darin, eine Formularvalidierungsregel in Ihrem Modul zu erstellen. Dies würde kein Plugin erfordern. Siehe Dokumentation https://docs.joomla.org/Server-side_form_validation .

1
Sharky