(Tiempo estimado: 1 - 2 minutos)

Con la nueva versión de Joomla se ha integrado la versión 2 de reCAPTCHA para prevenir el acceso de robots de SPAM.

En algunas extensiones lo tenemos integrado de forma nativa, por lo que podemos utilizarlo.

En este artículo te voy a explicar cómo integrarlo en el desarrollo de una nueva extensión.

Vamos a ver los pasos a seguir.

Pasos para integrar el plugin de reCaptcha en un componente Joomla

1/ Vista del componente

En la vista de nuestro componente, com_componente/views/vista/tmpl/default.php añadimos las siguientes líneas de código en el sitio donde queramos que se muestre el Captcha:

Código PHP:

JPluginHelper::importPlugin('captcha');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onInit','caparecaptcha');
  • Con la primera línea importamos el plugin Captcha de Joomla.
  • Con la segunda creamos una nueva instancia de ese plugin.
  • Con la tercera lanzamos el disparador. Para ello tenemos que poner un identificador (en este caso "caparecaptcha").

Código HTML:

<div id="caparecaptcha"></div>
  • Con esta línea creamos un div con un id que se llame igual que el identicicador anterior. Aquí es donde se mostrará el Captcha de Goolge.

recaptcha joomla vista

2/ Model del componente

En el modelo, para validar que se ha introducido correctamente los caracteres que nos solicita el Captcha, tenemos que añadir las siguientes líneas de código:

JPluginHelper::importPlugin('captcha');
$dispatcher = JEventDispatcher::getInstance();
$res = $dispatcher->trigger('onCheckAnswer',$datos['recaptcha_response_field']);
if(!$res[0]){ return ERROR; }
  • Con la primera línea importamos el plugin Captcha de Joomla.
  • Con la segunda cogemos el evento de ese plugin.
  • Con la tercera recogemos el resultado pasándole al "trigger" el dato correspondiente que se ha introducido en la vista.
  • Con la cuarta hacemos un "if" para saber si es correcto o no.

De esta forma tan sencilla tenemos integrado el plugin de Captcha en un componente para Joomla

Espero que os haya resultado sencillo este tip para Joomla!. Cualquier comentario ya sabéis que es bienvenido.

Sobre el autor, Sergio Iglesias

Sergio Iglesias

Sergio Iglesias es formador, desarrollador y front-end del CMS Joomla!. A través de su blog y sus cursos puedes aprender a desarrollar tu propio portal web autogestionable.

 

¿Te ha gustado el artículo? ¡Suscríbete YA!

¿Necesitas un sitio web que funcione?

¿No quieres depender de nadie para gestionar tu página web?

Recibe contenido exclusivo y GRATIS mi curso sobre desarrollo de plantillas Joomla!


Me apunto ya!

Comentarios

#1 Paco Guio 17-04-2015 14:56
Grande Sergio. Muchas gracias por compartir
Citar

Escribir un comentario

Puedes publicar el comentario que quieras, pero si lo considero SPAM será eliminado automáticamente.



Código de seguridad
Refescar

SergioIglesias.NET te informa que los datos de carácter personal que nos proporciones rellenando este formulario serán tratados por Sergio Iglesias Sánchez como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es, únicamente, para gestionar los comentarios de este blog. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de SiteGround (proveedor de hosting). Ver política de privacidad de Siteground. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@sergioiglesias.net así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en mi política de privacidad.

¿Quieres tener un sitio web que funcione?

Contacta conmigo