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

[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 , который позволяет открывать медиа контент в всплывающих окнах. И всем впринципе хорош и удобен, но вот для меня нашлась одна проблема - он не масштабировал изображения если они не влазят в экран. На сколько...

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

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Установка Windows 11 без интернета или без учетной записи Microsoft

Windows 11 при первичном запуске требует подключения интернета и учётной записи Microsoft, но на практике бывают ситуации когда нет интернета или нет желания использовать учетную запись Microsoft. Например, в моём случае при подключении WiFi выдавало сообщение "oops you've lost internet connection".

Автоматизация получения бесплатных SSL сертификатов на хостинге RUCENTER

Можно долго ругаться на RUCENTER за нежелание дать клиентам виртуального хостинга бесплатные SSL сертификаты, но воз и ныне  там. В связи с этим пользователям остается либо уходить на другой хостинг, либо оставаться без HTTPS протокола и наблюдать неприятные пометки о небезопасности...

Две или более 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 !

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

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