Адаптация темы Формула Успеха к изменениям в законе РФ о персональных данных


Первое, что нужно сделать – это прочитать статью 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}

Добавить ответ
Чтобы добавить комментарий, зарегистрируйтесь или войдите
Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
Подписывайтесь и получайте скидки!

Узнавайте первым о скидках и специальных предложениях!