Похожие статьи

[Hack] Один материал в нескольких категориях для Joomla 2.5 (мультикатегории)

Обратились ко мне в очередной раз помощью на тему мультикатегорий для Joomla 2.5, также как и в случае с мультикатегориями для Joomla 1.5, только заказчик...

Проблема Opera с Joomla и файла mootools-more.js

После последних обновлений Opera 12 возникли проблемы с работой сайтов на движке Joomla, а если быть более точным, то перестала работать библиотека mootools и все что с ней связано соответственно. Проблема связана с сжатием файла mootools-more.js из-за содержания в нем локальных символов. Соответственно...

RokBox масштабирование изображений под размер экрана Joomla 1.5 и выше

Есть такой хороший плагин как RokBox , который позволяет открывать медиа контент в всплывающих окнах. И всем впринципе хорош и удобен, но вот для меня нашлась одна проблема - он не масштабировал изображения если они не влазят в экран. На сколько...

Последние обновления

Не работает сканирование QR кода на устройствах Apple с настроенным профилем

Если ваши устройства Apple настроены с помощью профилей MDM или Apple Configurator, то вы можете столкнуться с ситуацией что они не считывают QR код. Проявляется это если у вас настроен список разрешенных приложений.

Исправляем ошибку истекшего сертификата R3 при использовании Let's Encrypt

В ночь с 29.09.2021 на 30.09.2021 при просмотре почты на iPhone в стандартном приложении Mail я увидел сообщение об ошибке просроченного корневого сертификата R3 для одного из своих доменов. О том что будут проблемы с бесплатными сертификатами Let's Encrypt накануне кто только не писал, но утверждалось,...

Рутина MySQL

Небольшая заметка по регулярной работе с MySQL.

Две или более reCaptcha на одной странице

Столкнулся недавно с необходимость прикрутить проверку reCaptcha 2.x на все формы сайта на Joomla. Каких то вменяемых решений в интернете не нашлось, поэтому пришлось искать корень проблемы самому и, в глубинах буржуйской документации, решение таки нашлось.

Серверная сторона нас в этой ситуации не интересует, с ней проблем нет, так что сразу переходим к клиентской стороне. Для начала добавим на страницу api самого  reCaptcha (можно HEAD, можно в BODY, на ваше усмотрение):

<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

Если делаете для Joomla, то код выше лучше добавить в основной шаблон и если у вас уже установлен плагин типа "NO CAPTCHA reCAPTCHA!" (recaptchanew), то в плагине надо найти и закомментировать строчку:
 JHtml::_('script', 'https://www.google.com/recaptcha/api.js');

Теперь добавим в наши формы блоки div для captcha (не забываем обязательно указывать у блоков уникальный id):

    <form action="?" method="POST">
...
<div id="recaptcha1"></div>
<br>
<input type="submit" value="Submit">
</form>
...
<form action="?" method="POST">
...
<div id="recaptcha2"></div>
<br>
<input type="submit" value="Submit">
</form>

Ну а теперь сам javascript для создания форм:

<script type="text/javascript">
var onloadCallback = function() {
mysitekey = 'your_site_key';
grecaptcha.render('recaptcha1', {
'sitekey' : mysitekey
});
grecaptcha.render('recaptcha2', {
'sitekey' : mysitekey,
'theme' : 'dark', //default - light
'type' : 'audio', //default - image
'size' : 'compact', //default - normal
'tabindex' : 1, //default - 0
'callback' : , //function on success
'expired-callback' : //function when response expires
});
};
</script>

 Не забываем заменить  your_site_key на ваш секретный ключ выданный Google !

Для второй формы описаны все настраиваемые параметры

 Вот собственно и всё. По аналогии можно сделать и на большее количество форм.