Если в форме пользователь вводит какие-либо персональные данные, то он обязан согласиться на обработку этих данных. Для этого вставляем обязательный к заполнению Чекбокс. Если этот чекбокс не выбран, то форма не отправится
1. Встраивание в шаблон.
Этот вариант вернет в место вызова HTML код и добавить обработчик в реестр.
Рекомендуется добавить следующий код в форму перед кнопкой отправки формы:
<?php
echo MG::addAgreementCheckbox(
'класс',
array(
'text' => 'Я даю согласие на обработку моих ',
'textLink' => 'персональных данных.'
)
);
?>
Примечание: На месте класс должен быть уникальный класс кнопки отправки формы, которую необходимо заблокировать при неотмеченном чекбоксе.
2.Встраивание в вёрстку плагина.
Этот вариант вызывается в конструкторе и обработчике шорткода плагина, если верстка генерируется шорткодом.
2.1 Добавление обработчика в реестр(вызывается в обработчике шорткода плагина).
В конструкторе плагина добавляем класс в реестр обработчиков:
<?php
MG::addAgreementCheckbox('класс', array(), 'addRegistry');
?>
2.2 Вызывается в версте формы плагина(вызывается в обработчике шорткода плагина).
Добавляем к переменной, содержащей верстку:
<?php
MG::addAgreementCheckbox(
'класс',
array(
'text' => 'Я даю согласие на обработку моих ',
'textLink' => 'персональных данных'
)
);
?>
3. Встраиваем в форму плагина, сгенерированную Javascript“om.
Этот вариант запишет html код в JS переменную и добавит обработчик в реестр (вызывается в конструкторе плагина, если верстка генерируется javascript'ом).
Итак, если форма создаётся в JS, то в конструкторе прописываем:
<?php>
MG::addAgreementCheckbox(
'класс',
array(
'text' => 'Я даю согласие на обработку моих ',
'textLink' => 'персональных данных.'
),
'addJSVariable',
'имя-JS-переменной'
);
?>
'имя-JS-переменной' — содержит верстку чекбокса для использования внутри JS.
В JS плагина вставить эту переменную в место вертски формы.
4. Для всех остальных случаев.
Вместе с версткой чекбокса выводится код обработчика(Этот способ универсален, но не рекомендуется т.к. он «засоряет» код).
<?php
MG::addAgreementCheckbox(
'класс',
array(
'text' => 'Я даю согласие на обработку моих ',
'textLink' => 'персональных данных.'
),
'addInlineScript'
);
?>
Чтобы изменить текст соглашения перейдите Настройки - Шаблон - Шаблоны Блоков - layout_agreement.php
Этот файл есть только в шаблоне mg-default, для всех остальных шаблонов этот файл необходимо скопировать в папку layout вашего шаблона и изменить текст при необходимости.