Адаптация темы Формула Успеха к изменениям в законе РФ о персональных данных
Первое, что нужно сделать – это прочитать статью Webasyst об адаптации сайта под новый закон о персональных данных.
Второе – обновить все приложения, которые у вас стоят в инсталлере.
Создаём страницу политики
Создайте обычную страницу в том приложении, которое используете для публикации страниц.
Я использую приложение Сайт. Вставьте туда свою политику (договор) конфиденциальности.
Если хотите скрыть страницу из меню страниц, то после сохранения страницы добавьте ей доп. параметр hide=1
Форма обратной связи
После обновления фреймворка и приложения сайт у вас должна обновиться форма обратной связи {$wa->block("site.send_email_form")}.
В ней должен появится новый фрагмент кода, который начинается со строки:
{$agreement_link = ""}
Туда вы должны вставить ссылку на созданную страницу Политики обработки персональных данных (см. скриншот выше), какой текст в неё вставлять – читайте в статье Webasyst.
Кстати, если у вас есть примеры договоров, то можно указать ссылки на них в комментариях. Вдруг кому-то будет полезно!
Если кода, начинающегося с {$agreement_link = ""} в вашей форме нет, то нужно восстановить её из оригинала.
Теперь вставляем ссылку на страницу в {$agreement_link = ""}.
Выглядеть это должно примерно так:
Чтобы форма выглядела красиво, удалите теги <style> и всё, что между ними в начале блока формы.
Делаем ссылки рядом с чекбоксами кликабельными
Чтобы ссылку на политику рядом с чекбоксом можно было открыть, нужно отредактировать пару файлов.
Откройте приложение сайт - дизайн - Формула Успеха - шаблоны - файлы scripts-flatty.js и scripts-flatty-no-fancy.js.
Найдите в этих файлах поиском по браузеру (Windows: ctrl+F / Mac: cmd+F) следующую фразу:
.affiliate input[type=radio]
И добавьте сразу после неё:
,.wa-form input[type=checkbox]
Чтобы получилось вот так:
.affiliate input[type=radio],.wa-form input[type=checkbox]
Также, в этих же файлах найдите код:
.not("input[type=submit]")
после [type=submit] добавьте:
,input[type=checkbox]
Чтобы получилось так:
.not("input[type=submit],input[type=checkbox]")
Форма регистрации
Если вы используете форму регистрации, то вам необходимо в настройках авторизации:
Отметить радио-кнопку Предлагать включить обязательный флажок с подсказкой и ссылкой.
И в настройках "галочки" вставить такой код:
Я согласен с <a href="ссылка на страницу политики" target="_blank">политикой обработки персональных данных</a>
Подписка на рассылки
Нативного решения с галочкой от Webasyst пока нет, поэтому в блок (например prostore.footer_mailer), где вы вставили форму подписки на рассылки, вам необходимо вставить (после кода формы) примерно такой код:
<span> Нажимая на кнопку <strong>Название кнопки</strong>, вы соглашаетесь с <b><a href="ссылка на страницу политики" target="_blank">политикой обработки персональных данных</a></b> </span>
Уведомление об обработке персональных данных на страницах сайта
Инструкция гласит, что вы должны уведомить посетителя о том, что являетесь оператором персональных данных.
В теме Формула Успеха это уведомление лучше всего добавить в подвал.
Для этого откройте приложение сайт - дизайн - Формула Успеха - шаблоны - файл footer.html
В этом файле найдите код:
<div class="clearfix"></div> </div><!--row--> {if $wa->block("flatty.footer.user_scripts")}
И сразу после строки <div class="clearfix"></div> вставьте этот код:
<div class="footer-block padding9 r_reserved" style="padding-top:10px;"> Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с <b><a href="ссылка на страницу политики" target="_blank">официальной политикой</a></b>.<br> Если вы не даете согласия на обработку своих персональных данных, вам необходимо покинуть наш сайт. </div>
Shop-script
Как настраивать шаги внутри настроек приложения Shop-script читайте в официальной статье.
Только дополню. Если вы хотите, чтобы ссылка на политику открывалась в новом окне добавьте ей атрибут target="_blank"
Я согласен с <a href="ссылка на страницу политики" target="_blank">политикой обработки персональных данных</a>
Все манипуляции проводим с файлами темы для приложения Магазин.
Приложение магазин - витрина - Формула Успеха - шаблоны.
Файл checkout.html
Найдите строку:
$('.wa-field .wa-value input').not('input[type=submit]').addClass('form-control');
И замените её на эту строку:
$('.wa-field .wa-value input').not('input[type=submit], input[type=submit],input[type=checkbox]').addClass('form-control')
А также найдите строку:
$("input[type=radio],input[type=checkbox]").picker();
И поставьте перед ней две косых черты:
// $("input[type=radio],input[type=checkbox]").picker();
Файл checkout.contactinfo.html
Найдите строки:
<div class="wa-form"> {$checkout_contact_form->html()} {if $wa->isAuthEnabled() && !$wa->user()->isAuth()}
И сразу после строки {$checkout_contact_form->html()} добавьте код:
{if !empty($checkout_steps.contactinfo.service_agreement) && !empty($checkout_steps.contactinfo.service_agreement_hint)} <div class="wa-field"> <div class="wa-value"> <label> {if $checkout_steps.contactinfo.service_agreement == 'checkbox'} <input type="hidden" name="service_agreement" value=""> <input type="checkbox" name="service_agreement" value="1"{if $wa->post('service_agreement')} checked{/if}> {/if} {$checkout_steps.contactinfo.service_agreement_hint} </label> {if !empty($errors.service_agreement)} <em class="error">{$errors.service_agreement|escape}</em> {/if} </div> </div> {/if}
Файл checkout.shipping.html
Замените строку вида:
{if !empty($m.form)}<div class="wa-form wa-address" {if $m.id != $shipping.id}style="display:none"{/if}>{$m.form->html()}</div>{/if}
на новый фрагмент:
{if !empty($m.form)} <div class="wa-form wa-address" {if $m.id != $shipping.id}style="display:none"{/if}> {$m.form->html()} {if !empty($checkout_steps.shipping.service_agreement_hint)} <div class="wa-field"> <div class="wa-value"> <span class="hint">{$checkout_steps.shipping.service_agreement_hint}</span> </div> </div> {/if} </div> {/if}