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


Первое, что нужно сделать – это прочитать статью Webasyst об адаптации сайта под новый закон о персональных данных.

Второе – обновить все приложения, которые у вас стоят в инсталлере.


Форма обратной связи

После обновления фреймворка и приложения сайт у вас должна обновиться форма обратной связи {$wa->block("site.send_email_form")}.

В ней должен появится новый фрагмент кода, который начинается со строки:

{$agreement_link = ""}

Туда вы должны вставить ссылку на созданную страницу Политики обработки персональных данных, какой текст в неё вставлять – читайте в статье Webasyst, ссылка на которую указана выше.

Если форма обратной связи не изменилась (не появился новый код), то вам нужно сбросить изменения в этой форме, нажав на кнопку Восстановить из оригинала.

Чтобы ссылка и галочка выглядели красиво в теме Picco Shop, необходимо в тег <style> в блоке site.send_email_form прописать следующий код:

  .wa-field input {
      width:auto;
  }
  .wa-field label {
      background: none;
      color: inherit;
  }

Результат:



Форма регистрации

Если вы используете форму регистрации, то вам необходимо в настройках авторизации:

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

Если хотите, чтобы ссылка на политику открывалась в новом окне, добавьте ссылке атрибут target="_blank".
Код согласия в таком случае будет выглядеть примерно так:

Я согласен с <a href="ссылка на страницу политики" target="_blank">политикой обработки персональных данных</a>

Чтобы ссылка и галочка выглядели красиво в теме Picco Shop, необходимо в тег <style> в файле signup.html темы Picco Shop того приложения, в котором вы используете авторизацию:

Добавить следущий код:

<style>
   .wa-field input[type="checkbox"] {
      width:auto !important;
  }
  .wa-field label {
      background: none;
      color: inherit;
  }
</style>

Результат:

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

Инструкция гласит, что вы должны уведомить посетителя о том, что являетесь оператором персональных данных.
В теме Picco Shop это лучше всего разместить в подвале.
Откройте приложение Сайт - дизайн - Picco Shop - шаблоны - файл index.html
Найдите в этом файле строки (почти в самом низу):

<div class="row"><!-- Begin Sub Footer -->

<div class="span12 footer-col footer-sub">

И прямо между ними вставьте следующий код:

<div class="span12 footer-col footer-sub">
  <div style="padding: 0 20px;">
    Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с <b><a href="ссылка на страницу политики" target="_blank">официальной политикой</a></b>.<br>
    Если вы не даете согласия на обработку своих персональных данных, вам необходимо покинуть наш сайт. 
  </div>
</div>

Результат:


Shop-script

Как настраивать шаги внутри настроек приложения Shop-script читайте в официальной статье.
Только дополню. Если вы хотите, чтобы ссылка на политику открывалась в новом окне, добавьте ей атрибут target="_blank":

Я согласен с <a href="ссылка на страницу политики" target="_blank">политикой обработки персональных данных</a>


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


ВНИМАНИЕ!
Версии Shop-script 6 и ниже не поддерживают не поддерживают новые настройки.


Все манипуляции проводим в приложении магазин - витрина - Picco Shop - шаблоны.

Файл checkout.contactinfo.html

Найдите строку:

{$checkout_contact_form->html()}

И добавьте прямо после неё код:

{if !empty($checkout_steps.contactinfo.service_agreement) && !empty($checkout_steps.contactinfo.service_agreement_hint)}
    <div class="wa-field">
        <div class="span8 wa-message desktop-offset">
        <div class="wa-value">
            <label style="display:block;">
                {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>
    </div>
    <style>
        .wa-field input[type="checkbox"] {
            width:auto !important;
        }
        .wa-field label {
            background: none;
            color: inherit;
        }
        .error { color: red; }
    </style>
{/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}

Результат:


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

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