google - ¿Cómo usar el complemento recaptcha de Joomla con mi módulo personalizado?
recaptcha console (3)
Obtuve esto de: http://jw-extension.net/joomla-how-to/138-an-easy-way-insert-captcha-in-any-module-or-component-of-joomla.html
Descargalo
inicie sesión en http://www.google.com/recaptcha para obtener la clave pública reCAPTCHA y la clave privada reCAPTCHA
Instalar, habilitar e ingresar claves públicas y privadas
En el módulo HTML inserte
{captcha}
donde necesite mostrar captchaEn general por favor inserte
global $mainframe; $mainframe->triggerEvent(''onCaptchaDisplay'');
para mostrar el captcha.
Si la opción Verificación automática con reCAPTCHA está habilitada, el complemento verificará si existen datos de verificación de captcha, luego se conectará automáticamente a reCAPTCHA y solicitará confirmación. Este método requiere un poco más de recursos del sistema en cada carga de página, pero es realmente útil si tiene muchas páginas que necesitan verificación de captcha. Si no desea habilitar la verificación de captcha globalmente pero solo para unas pocas páginas, es posible que desee desactivar la opción Verificación automática con reCAPTCHA. Para verificar la respuesta del usuario, inserte el siguiente código PHP en el archivo del controlador de Joomla! extensión donde se necesita la verificación de captcha:
global $mainframe; $mainframe->triggerEvent(''onCaptchaConfirm'');
He creado un módulo personalizado para mi formulario de contacto. Ahora quiero usar el plugin recaptcha de Joomla con este módulo.
¿Alguna idea de cómo hacer esto?
Para utilizar el complemento recaptcha predeterminado de joomla, siga estos pasos:
1) Obtenga claves de recaptcha de http://www.google.com/recaptcha
2) Configura estas teclas para recaptcha y activa si no lo está.
3) Pon debajo el código donde quieres mostrar recaptcha
//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) Poner este código donde validar / procesar el formulario.
$post = JRequest::get(''post'');
JPluginHelper::importPlugin(''captcha'');
$dispatcher = JDispatcher::getInstance();
$res = $dispatcher->trigger(''onCheckAnswer'',$post[''recaptcha_response_field'']);
if(!$res[0]){
die(''Invalid Captcha'');
}
// Para Joomla 3.x
$post = JFactory::getApplication()->input->post;
$dispatcher = JEventDispatcher::getInstance();
Siguiendo el código de Irfan, además tuve que hacer lo siguiente para que apareciera el captcha:
Agregue lo siguiente al código de la plantilla.
JHtml::_(''behavior.keepalive'');
Aparentemente incluye la biblioteca de mootools.
Parece que un evento ya está agregado, pero el evento solo se dispara cuando se usa la biblioteca mootools. Así que solo revise su fuente html y vea si se está utilizando mootools. Podría estar completamente equivocado, pero espero que mi solución ayude a alguien.