Добрый день
Есть идея, в связи с ФЗ-152 захотелось встроить чекбокс согласия пользователя с обработкой персональной информацией в форму почтовой рассылки (компонент subscribe.form, не sender.subscribe), и в форму регистрации пользователей на сайте, если кто-то уже сталкивался с похожей задачей, коллеги прошу Вас поделиться советом, как реализовать задуманное?
Использую main.userconsent.request для достижения цели.
p.s. По такому запросу в Интернете, найдены несколько сайтов с одинаковой подсказкой, но только для компонента sender.subscribe, пробовал адаптировать её под компонент subscribe.form, делал все по описанной схеме, но увы галочка не выводится.
Соглашение создано, ID соглашения - прописан в компоненте вывода main.userconsent.request. Код вызова компонента вывожу перед кнопкой отправки, но не показывается.
Опишу по шагам мои действия:
1. В директории компонента subscribe.form в файле .parameters прописал в самом верху следующий код:
2. Далее в шаблоне компонента subscribe.form, прописываю код вызова компонента main.userconsent.request с указанным ID пользовательского соглашения
Есть идея, в связи с ФЗ-152 захотелось встроить чекбокс согласия пользователя с обработкой персональной информацией в форму почтовой рассылки (компонент subscribe.form, не sender.subscribe), и в форму регистрации пользователей на сайте, если кто-то уже сталкивался с похожей задачей, коллеги прошу Вас поделиться советом, как реализовать задуманное?
Использую main.userconsent.request для достижения цели.
p.s. По такому запросу в Интернете, найдены несколько сайтов с одинаковой подсказкой, но только для компонента sender.subscribe, пробовал адаптировать её под компонент subscribe.form, делал все по описанной схеме, но увы галочка не выводится.
Соглашение создано, ID соглашения - прописан в компоненте вывода main.userconsent.request. Код вызова компонента вывожу перед кнопкой отправки, но не показывается.
Опишу по шагам мои действия:
1. В директории компонента subscribe.form в файле .parameters прописал в самом верху следующий код:
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); $arComponentParameters = array( "GROUPS" => array( ), "PARAMETERS" => array( "AJAX_MODE" => array(), "USER_CONSENT" => array(), ) ); |
<?$APPLICATION->IncludeComponent( "bitrix:main.userconsent.request", "", array( "ID" => "1", // Идентификатор соглашения "IS_CHECKED" => "N", // Галка согласия проставлена по умолчанию "AUTO_SAVE" => "N", // Загружать текст соглашения сразу "IS_LOADED" => "N", // Сохранять автоматически факт согласия "REPLACE" => array( 'button_caption' => 'Подписаться', 'fields' => array('Email', 'Телефон', 'Имя') ), ) );?> |
Там несколько условий для вывода, быть может за рамками нужного if-а dytckb tuj
Скиньте шаблон компонента целиком- посмотрим
В административном разделе сайта по пути: /bitrix/components/bitrix/subscribe.form
В файле параметров .parameters.php для компонента subscribe.form
объявляю параметр "USER_CONSENT" => array() следующим образом:
Файл .parameters.php (файл параметров компонента)
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
$arComponentParameters = array(
"GROUPS" => array(
),
"PARAMETERS" => array(
"AJAX_MODE" => array(),
"USER_CONSENT" => array(),
)
);
Далее код вызова компонента (для запроса согласия пользователя с соглашением на обработку персональной информации) - main.userconsent.request, вставляю в файл template.php, компонента subscribe.form
Файл template.php (шаблон компонента)
<div class="widget subscribe-widget">
<form class="subscribe-form" action="<?=$arResult["FORM_ACTION"]?>">
<h1>Подписаться на новостную рассылку</h1>
<!-- Форма для ввода e-mail адреса -->
<input type="text" name="sf_EMAIL" id="subscribe" placeholder="Email" value="<?=$arResult["EMAIL"]?>"/>
<!-- Кнопка подтверждение -->
<button name="OK" id="submit-subscribe" value="<?=GetMessage("subscr_form_button")?>">
<i class="fa fa-arrow-circle-right"></i>
</button>
<!-- Начало вызова компонента -->
<?if ($arParams['USER_CONSENT'] == 'Y'):?>
<?$APPLICATION->IncludeComponent(
"bitrix:main.userconsent.request", "",
array(
"ID" => "1", // Идентификатор соглашения
"IS_CHECKED" => "N", // Чекбокс согласия проставлен по умолчанию
"AUTO_SAVE" => "N", // Загружать текст соглашения сразу
"IS_LOADED" => "N", // Сохранять автоматически факт согласия
"REPLACE" => array(
'button_caption' => 'Подписаться',
'fields' => array('Email', 'Телефон', 'Имя')
),
)
);?>
<?endif;?>
<!-- Конец вызова компонента -->
<p>Получать обновления раз в месяц</p>
</form>
</div>
В итоге, после очистки кэша страницы, на форме по прежнему не отображается галочка запроса согласия пользователя, под полем для ввода почтового адреса.
Интересно, что даже после всех описанных выше манипуляций в параметрах компонента "Форма подписки" колонка "Согласие пользователя" с подпунктом "Запрашивать согласие пользователя" так и не появилась.
Битрикс обновленный, указанные компоненты в системе имеются