30 мая 2025 года в России стали действовать весьма внушительные штрафы за отсутствие уведомления в Роскомнадзор об обработке персональных данных. Событие это подтолкнуло владельцев сайтов вспомнить о том, что пора бы настроить согласия с политикой конфиденциальности над каждой формой отправки данных. Пришлось доработать компонент SMS авторизации и мне.
Однако, обо всём по порядку.
Персональные данные в Joomla
Далеко не все знают, но в стандартном пакете Joomla присутствует компонент под названием «Персональные данные».
Полноценно компонент работает при включенном системном плагине «Система - Персональные данные».
Плагин этот выполняет сразу несколько функций. Он размещает форму согласия на обработку персональных данных на странице регистрации.
Также он принудительно перенаправляет посетителя сайта, который по каким то причинам не дал согласие на обработку данных ранее, на страницу личного кабинета, где от пользователя потребуют дать это самое согласие. В противном случае ему будут недоступны любые разделы сайта.
Наконец, плагин отвечает за запись согласия в базу данных компонента «Персональные данные».
Выглядит это так:
Боль, грусть и недостатки
Главным и ключевым недостатком данного плагина является то, что он абсолютно несовместим с компонентом J SMS REGISTRATION.
В процессе создания нового пользователя мой компонент пытается его отправить на страницу завершения регистрации, а плагин «Персональные данные» пытается перенаправить посетителя в личный кабинет Joomla, чтобы там пользователь дал согласие на обработку персональных данных.
Как итог: мы получаем бесконечный редирект и ошибку в браузере.
Вторым недостатком я считаю саму идею отправки в личный кабинет, где кроме согласия отображаются все текстовые поля с данными пользователя, в том числе и поля для ввода пароля.
Перенаправленный на эту страницу пользователь не всегда понимает, что от него хотят.
Компонент J SMS REGISTRATION доработан
Исходя из вышеизложенного, стояла задача: сделать так, чтобы при регистрации посетителя, как через стандартный компонент com_users, так и через J SMS REGISTRATION отображался чекбокс согласия на обработку персональных данных.
При этом, после завершения регистрации, и, соответственно, после согласия с политикой конфиденциальности, данные об этом записывались в компонент «Персональные данные».
На момент написания этой статьи, данный функционал добавлен в версию компонента J SMS REGISTRATION для Joomla 5.
Для активации данной возможности в стандартном менеджере материалов необходимо создать статью, которая будет содержать текст политики конфиденциальности.
Следующий шаг — это отключение системного плагина «Система — Персональные данные».
Переходим в раздел «Плагины» и снимаем его с публикации.
Далее переходим в настройки компонента J SMS REGISTRATION.
Открываем вкладку «Политика».
Включаем интеграцию с компонентом «Персональные данные».
При необходимости указываем текст, который отобразится рядом с чекбоксом согласия, а также текст в сообщении при редиректе на страницу согласия.
И обязательно указываем статью с политикой конфиденциальности.
Сохраняем настройки.
Создание пункта меню
Следующий наш шаг — это создание пункта меню страницы согласия с политикой.
На данной странице посетитель будет оказываться если он не принял согласие в процессе завершения регистрации.
Например, он прошел регистрацию через социальные сети.
Данный пункт меню не должен быть виден на сайте, ибо посетитель попадает туда всего один раз. Если он уже дал ранее согласие на обработку персональных данных и при этом попал на страницу данного типа меню, то он будет перенаправлен на главную страницу сайта.
Итак.
Выбираем тип пункта меню, как J SMS REGISTRATION - Страница политики конфиденциальности персональных данных
Заполняем заголовок пункта меню и сохраняем его.
Наш компонент готов к работе с политикой конфиденциальности персональных данных!
Как будет всё работать?
При регистрации через SMS или Email на странице завершения регистрации посетитель увидит чекбокс согласия на обработку персональных данных.
После нажатия на кнопку «Подтвердить» в компоненте «Персональные данные» появится запись о том, что пользователь дал согласие на обработку персональных данных.
Если же пользователь регистрировался через VK или Яндекс, то он будет перенаправлен на страницу подтверждения согласия на обработку персональных данных.
Выглядеть она будет так:
После согласия с политикой конфиденциальности пользователь будет возвращён на ту страницу, с которой был ранее перенаправлен.
В базу данных компонента «Персональные данные» также будет добавлена запись о том, что пользователь дал согласие на обработку персональных данных.
Заключение
Хочу еще раз обратить внимание на то, что всё описанное в этой статье актуально для Joomla 5. Для Joomla 3 данный функционал пока не реализован.
Компонент J SMS REGISTRATION можно заказать по ссылке ниже:
https://sitogon.ru/catalog/joomla-components/j-sms-registration-detail
Напоминаю!
Если у вас остались вопросы и предложения, их всегда можно озвучить в группе VK по ссылке ниже:
А также в недавно созданной группе Telegram. Ссылка:
С уважением, Владимир Егоров