MODX RevoЧекбокс об обработке персональных данных

3 апреля, 2018
25
Как добавить к форме регистрации чекбокс «Обработка персональных данных» (работа с дополнением Office)

Что нам нужно.

Чекбокс «Согласен» в форме регистрации пользователя, которое предоставляется аддоном Office для MODX Revo, модальное окно и собственно плагин, который обработает чекбокс.

Я противник перекидывания на другую вкладку/окно с текстом «Политика обработки персональных данных», тем более что текст можно вместить в пару абзацев, которые влезут в экран смартфона.

 

Создаём плагин на событие OnBeforeUserFormSave

<?php
if ($modx--->context->key != 'mgr') {
    switch ($modx->event->name) {
        case 'OnBeforeUserFormSave':
            if (empty($_POST['rules'])) {
                $modx->event->output('Для продолжения регистрации Вы должны дать разрешение на обработку Ваших персональных данных');
            }            
            break;
    }
}

Теперь нам нужно модальное окно.

<div class="modal fade" id="privacyModal" tabindex="-1" role="dialog" aria-labelledby="privacyModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="btn btn-close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">
            <i class="icon icon-close"></i>
          </span>
        </button>
        <p class="modal-title strong" id="privacyModalLabel">Обработка персональных данных</p>
      </div>
      <div class="modal-body">
        <p>Настоящим подтверждаю, что я ознакомлен и согласен с условиями Политики в отношении обработки персональных данных.</p>
        <p>Настоящим я даю разрешение ООО «РОГА И КОПЫТА». в целях информирования о товарах и услугах интернет-магазина «РОГА И КОПЫТА», заключения и исполнения договора купли-продажи обрабатывать — собирать, записывать, систематизировать, накапливать, хранить, уточнять (обновлять, изменять), извлекать, использовать, передавать (в том числе поручать обработку другим лицам), обезличивать, блокировать, удалять, уничтожать — мои персональные данные: фамилию, имя, отчество, пол, дату рождения, номера домашнего и мобильного телефонов, адрес электронной почты, город жительства (пребывания), сведения об истории покупок, в том числе наименование приобретаемого товара/услуги и их стоимость, а также данные об интересах на основании данных о поведении в сети Интернет, в сетях телекоммуникационных и интернет-операторов, сетевых и коалиционных программ лояльности.</p>
      </div>
      <div class="modal-footer text-center">
      </div>
    </div>
  </div>
</div>

И добавляем чекбокс к форме регистрации (tpl.Office.auth.login)

<div class="form-group">
  <div class="col-sm-offset-3 col-sm-8">
    <div class="checkbox">
      <label for="office-auth-register-rules">
      <input type="checkbox" name="rules" id="office-register-form-rules" value="yes"> Я <a href="javascript:void(0);" data-toggle="modal" data-target="#privacyModal">согласен на обработку</a> персональных данных.
      </label>
    </div>
  </div>
</div>

Пример указан с использованием Bootstrap 3

Теги:

Поделиться