Как добавить соглашение в форму на битриксе — тонкости настройки

Как добавить соглашение в форму на битриксе — тонкости настройки

Про добавление соглашения в формы есть хорошая документация у битрикса и много примеров в интернете. В этой статье я покажу, как добавить соглашение в форму обратной связи bitrix:main.feedback и настроить его внешний вид на свой вкус без сложных телодвижений.

Если вы пришли почитать только про настройку соглашений, то можете сразу перейти к другим вариантам настройки.

Добавляем соглашение:
Настройки → Настройки продукта → Соглашения
Название, например, "Согласие на обработку персональных данных"
1 Тип - Стандартное согласие на обработку персональных данных «Russian» (сначала рассмотрим этот вариант)
Заполняем название и адрес компании, битрикс их подставит в соглашение.
Сохраняем.

Стандартное согласие на обработку персональных данных для сайта на битриксе

Теперь добавляем на страницу компонент "Форма обратной связи" bitrix:main.feedback и копируем шаблон компонента в текущий шаблон сайта со своим названием, например, «my»

Открываем файл /путь_к_вашему_шаблону/ components/bitrix/ main.feedback/my/template.php
И перед кнопкой отправки формы вставляем <?if ($arParams['USER_CONSENT'] == 'Y'):?><?$APPLICATION->IncludeComponent(
  "bitrix:main.userconsent.request",
  "",
  array(
    "ID" => $arParams["USER_CONSENT_ID"],
    "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
    "AUTO_SAVE" => "Y",
    "IS_LOADED" => $arParams["USER_CONSENT_IS_LOADED"],
    "REPLACE" => array(
      "button_caption" => GetMessage("MFT_SUBMIT"), //сюда ставим текст с кнопки
    ),
  )
);?><?endif;?>

ID - это id нашего соглашения. Можно, конечно, поставить его прямо здесь, также как параметры IS_CHECKED и IS_LOADED, но хотелось бы иметь возможность их редактировать через настройки компонента формы.
Однако, сейчас в настройках формы этих полей нет.

Параметры компонента bitrix:main.feedback

Добавим их.
Открываем(создаем) файл /путь_к_вашему_шаблону/ components/bitrix/ main.feedback/my/.parameters.php И добавляем в $arTemplateParameters массив USER_CONSENT без всяких описаний

<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
$arTemplateParameters = array(
"USER_CONSENT" => array(),
);
?>

Этого параметра достаточно, чтобы в настройках компонента появились все нужные поля.

Параметры компонента bitrix:main.feedback с соглашением

Теперь выбираем наше соглашение и сохраняем. Получилось так:

Как добавить соглашение в форму на битриксе

Все отлично, но если кликнуть по тексту, то откроется окно соглашения с %fields% вместо названия полей.

Как добавить соглашение в форму на битриксе - скриншот 2

Исправим. Добавляем в REPLACE нужные нам названия полей, я здесь скопировала те, которые подставляются в форме:

<?if ($arParams['USER_CONSENT'] == 'Y'):?><?$APPLICATION->IncludeComponent(
  "bitrix:main.userconsent.request",
  "",
  array(
    "ID" => $arParams["USER_CONSENT_ID"],
    "IS_CHECKED" => $arParams["USER_CONSENT_IS_CHECKED"],
    "AUTO_SAVE" => "Y",
    "IS_LOADED" => $arParams["USER_CONSENT_IS_LOADED"],
    "REPLACE" => array(
      "button_caption" => GetMessage("MFT_SUBMIT"), //сюда ставим текст с кнопки
      "fields" => [GetMessage("MFT_NAME"),GetMessage("MFT_EMAIL")] //сюда ставим названия полей формы
    ),
  )
);?><?endif;?>
Как добавить соглашение в форму на битриксе - скриншот 3

Теперь все отлично.

Таким же способом соглашение добавляется в собственные компоненты.

Варианты настройки соглашений

2 Допустим, у нас есть свой текст соглашения, составленный юристом для нас лично.
В настройках выбираем Тип - Собственное.
Загружаем свой текст в поле для соглашения. Сохраняем.

Собственное согласие на обработку персональных данных для сайта на битриксе

Получилось так. Текст рядом с галочкой можно изменить в настройках соглашения на вкладке "Подпись и поведение".

Как добавить соглашение в форму на битриксе - скриншот 4

Открываем соглашение и видим, что в названии фрагмент первой строки.

Как добавить соглашение в форму на битриксе - скриншот 5

Добавим в начало текста соглашения строку "Согласие на обработку персональных данных" и пустую строку. Теперь хорошо.

Как добавить соглашение в форму на битриксе - скриншот 6

3 Идем дальше - мы сделали на сайте страницу "Политика обработки персональных данных" и хотим, чтобы по клику на подпись пользователь мог на нее перейти.
В настройках соглашения на вкладке "Подпись и поведение" ставим галочку "При клике на ссылку открывать стороннюю ссылку или файл" и указываем адрес нашей страницы.

Настройки согласия на обработку персональных данных для сайта на битриксе

Все работает, но эта длинная ссылка выглядит не очень красиво. И теперь не очень удобно, что приходится попадать точно в checkbox, чтобы поставить галочку.

Как добавить соглашение в форму на битриксе - скриншот 7

Конечно, можно скопировать шаблон компонента и там поменять верстку, но мы сделаем проще - в тексте подписи выделяем фрагмент, который хотим сделать ссылкой, % в начале и % в конце. У меня это %политикой конфиденциальности%

Настройки подписи согласия на обработку персональных данных для сайта на битриксе

Вот теперь все выглядит отлично.

Как добавить соглашение в форму на битриксе - скриншот 8

21.10.2025

Возврат к списку