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

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

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

Рутина MySQL

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

Китайский Xbox 360 Wireless Reciever и Windows 10 2004 и выше

Начиная с версии Windows 10 2004 обычным способом драйвера на китайский ресивер для джойстиков Xbox 360 не ставятся. Под обычным способом подразумевается установка через ручной выбор устройства из списка, даже если выбрать более старые официальные драйвера.

Outlook 2003 не открывает ссылки

Несколько раз сталкивался с проблемой, что Outlook 2003 отказывается открывать ссылки, предлагая, вместо этого, сохранить на диск...

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

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

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

 
© 2020 Legion Leonhart. При полном или частичном копировании материалов сайта - активная ссылка на сайт обязательна.