it-swarm.com.de

Wie verwende ich das Joomla Recaptcha Plugin mit meinem benutzerdefinierten Modul?

Ich habe ein benutzerdefiniertes Modul für mein Kontaktformular erstellt. Jetzt möchte ich das Joomla Recaptcha Plugin mit diesem Modul verwenden.

Irgendeine Idee, wie man das macht?

24
Toretto

Um das standardmäßige Recaptcha-Plugin von Joomla zu verwenden, gehen Sie wie folgt vor:

1) Erhalten Sie die Recaptcha-Schlüssel von http://www.google.com/recaptcha

2) Setzen Sie diese Tasten auf Recaptcha Plugin und aktivieren Sie es, falls dies nicht der Fall ist.

3) Geben Sie den Code ein, an dem Sie Recaptcha anzeigen möchten

//php code
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onInit','dynamic_recaptcha_1');

//html code inside form tag
<div id="dynamic_recaptcha_1"></div>

4) Fügen Sie diesen Code dort ein, wo Sie das Formular validieren/bearbeiten

$post = JRequest::get('post');      
JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$res = $dispatcher->trigger('onCheckAnswer',$post['recaptcha_response_field']);
if(!$res[0]){
    die('Invalid Captcha');
}

// Für Joomla 3.x

$post = JFactory::getApplication()->input->post;
$dispatcher = JEventDispatcher::getInstance();
44
Irfan

Nach dem Irfan-Code musste ich zusätzlich Folgendes tun, damit das Captcha angezeigt wird:

Fügen Sie dem Vorlagencode Folgendes hinzu.

JHtml::_('behavior.keepalive');

Anscheinend enthält es die Mootools-Bibliothek.

Es scheint, dass ein Ereignis bereits hinzugefügt wird, das Ereignis jedoch nur ausgelöst wird, wenn die Bibliothek mootools verwendet wird. Überprüfen Sie also einfach Ihre HTML-Quelle und prüfen Sie, ob Mootools verwendet wird. Ich könnte völlig falsch sein, hoffe jedoch, dass meine Lösung jemandem hilft.

2
w_hoami

Hab das von: http://jw-extension.net/joomla-how-to/138-an-easy-way-insert-captcha-in-any-module-or-component-of-joomla.html

  1. Lade es herunter

  2. melden Sie sich unter http://www.google.com/recaptcha an, um den öffentlichen reCAPTCHA-Schlüssel und den privaten reCAPTCHA-Schlüssel zu erhalten

  3. Installieren, aktivieren und geben Sie den öffentlichen und den privaten Schlüssel ein

  4. Fügen Sie in HTMLmodule {captcha} ein, wo Sie das Captcha anzeigen müssen

  5. Im allgemeinen bitte einfügen

    global $mainframe;
    $mainframe->triggerEvent('onCaptchaDisplay');
    

captcha anzeigen.

  1. Wenn die Option "Auto-Verify with reCAPTCHA" aktiviert ist, prüft das Plugin, ob Daten für die Captcha-Überprüfung vorhanden sind, stellt automatisch eine Verbindung zu reCAPTCHA her und fordert zur Bestätigung auf. Diese Methode erfordert bei jedem Laden der Seite etwas mehr Systemressourcen. Sie ist jedoch sehr nützlich, wenn Sie für viele Seiten eine Captcha-Überprüfung benötigen. Wenn Sie die Captcha-Überprüfung nicht global aktivieren möchten, aber nur für wenige Seiten, möchten Sie dies vielleicht Deaktivieren Sie die automatische Überprüfung mit der Option reCAPTCHA. Um die Benutzerantwort zu überprüfen, fügen Sie den folgenden PHP - Code in die Controller-Datei der einzelnen Joomla! Erweiterung, wo Captcha-Überprüfung erforderlich war:

    global $mainframe;
    $mainframe->triggerEvent('onCaptchaConfirm');
    
0
Jason