Автор Тема: Соответствие закону ФЗ 152, согласие на обработку персон. данных(решено)  (Прочитано 1833 раз)

21 Июль 2017, 02:15:32
  • Новичок
  • *
  • Сообщений: 39
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет, необходимо приделать чекбокс при регистрации, о том, что согласен на обработку персональных данных. Если сам чекбокс у меня получилось приделать, то я не знаю как делать проверку на то, поставлена ли галка.
Т.е. если галка стоит - разрешаем регистрироваться, если галка не стоит - выводим ошибку.
Есть какие-то идеи?
21 Июль 2017, 09:58:08
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
$("#myCheckbox").prop("checked");Возвратит true, если состояние "выбрано"
21 Июль 2017, 10:15:33
Ответ #2
  • Пользователь
  • **
  • Сообщений: 95
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я рядом с кнопкой зарегаться написал, что при нажатии кнопки будут обрабатываться личные данные, надеюсь прокатит)
21 Июль 2017, 10:30:59
Ответ #3
  • Новичок
  • *
  • Сообщений: 39
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
$("#myCheckbox").prop("checked");Возвратит true, если состояние "выбрано"

Это java? Но где прописать? Я не сильно разбираюсь.. так, на уровне догадок))

Я прописала в authentication.tpl
Этот кусочек позаимствован из order-carrier.tpl, потому что там уже было это реализовано в  Prestashop, при включении функции в админке требовать потдверждения от покупателей согласия с документам. Если человек не ставит там галку, то не разрешает выбрать способы оплаты.

<p class="checkbox">
<input type="checkbox" name="cgv" id="cgv" value="1" {if $checkedTOS}checked="checked"{/if} autocomplete="off"/>
{l s='Я разрешаю обработку моих персональных данных.'} <a href="{$link_conditions}" class="iframe">{l s='(Политика обработки персональных данных)'}</a>

</p>
<script type="text/javascript">
$(document).ready(function() {
        $("a.iframe").fancybox({
            'type' : 'iframe',
            'width':600,
            'height':600
        });
    });
</script>

И в OrderOpcController.php нашла такие кусочки, которые если я правильно понимаю как раз и отвечаю за вывод сообщения о том, что необходимо подтвердить свое согласие с документом галкой. Но я не понимаю как это перенести в Authentication.php

case 'updateTOSStatusAndGetPayments':
if (Tools::isSubmit('checked'))
{
$this->context->cookie->checkedTOS = (int)(Tools::getValue('checked'));
die(Tools::jsonEncode(array(
'HOOK_TOP_PAYMENT' => Hook::exec('displayPaymentTop'),
'HOOK_PAYMENT' => $this->_getPaymentMethods()
)));
}
break;

if (!$this->context->cookie->checkedTOS && Configuration::get('PS_CONDITIONS'))
return '<p class="warning">'.Tools::displayError('Please accept the Terms of Service.').'</p>';

P.S. у меня 1.5.6 Prestashop

Я рядом с кнопкой зарегаться написал, что при нажатии кнопки будут обрабатываться личные данные, надеюсь прокатит)
Ну... вообще возможно, у меня совсем маленький магазин, думаю он никому нафиг не сдался. Но все равно хочется сделать по правилам, проставить чекбоксы везде на регистрационных формах + в окне обратной связи.

Вот так хочу)) увидела в одном магазине
Сам чекбокс уже есть, осталась ошибка



21 Июль 2017, 12:45:56
Ответ #4
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Простой способ, добавить чекбокс
<div class="checkbox">
    <label for="cgv"><input type="checkbox" name="cgv" id="cgv" value="1" {if isset($smarty.post.cgv) && $smarty.post.cgv == '1'}checked="checked"{/if} />{l s='Я разрешаю обработку моих персональных данных.'}</label>
</div>
и проверку
{literal}
<script type="text/javascript">
    $(function() {
            $('#submitAccount').on('click', function() {
                var cgvCheck = $('#cgv').is(':checked');
                if (!cgvCheck) {
                    alert('Разрешите обработку ваших персональных данных');
                    return false;
                }
            });
        });
</script>
{/literal}
в шаблон страницы авторизации authentication.tpl
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
21 Июль 2017, 13:28:49
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 121
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
21 Июль 2017, 13:39:44
Ответ #6
  • Новичок
  • *
  • Сообщений: 39
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
12 Июль 2019, 17:02:33
Ответ #7
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Простой способ, добавить чекбокс
<div class="checkbox">
    <label for="cgv"><input type="checkbox" name="cgv" id="cgv" value="1" {if isset($smarty.post.cgv) && $smarty.post.cgv == '1'}checked="checked"{/if} />{l s='Я разрешаю обработку моих персональных данных.'}</label>
</div>
и проверку
{literal}
<script type="text/javascript">
    $(function() {
            $('#submitAccount').on('click', function() {
                var cgvCheck = $('#cgv').is(':checked');
                if (!cgvCheck) {
                    alert('Разрешите обработку ваших персональных данных');
                    return false;
                }
            });
        });
</script>
{/literal}
в шаблон страницы авторизации authentication.tpl
Чекбокс появляется, но скрипт не работает. Даже кнопку "создание учетной записи" не дает нажать. Что может быть не так?
13 Июль 2019, 13:02:52
Ответ #8
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
13 Июль 2019, 15:40:25
Ответ #9
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
14 Июль 2019, 11:47:16
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
1.6.1.20
Проверено на Prestashop 1.5-1.6 работает.
Проверяйте на синтаксические ошибки.
14 Июль 2019, 13:27:54
Ответ #11
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Разобрался. Проблема в использовании кириллицы в шаблоне. Перевод для "'Я разрешаю обработку моих персональных данных" я могу написать в админке престы, а что делать со скриптом, не на английском же писать?
14 Июль 2019, 21:55:27
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
14 Июль 2019, 21:58:40
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В скрипте нет кирилицы. Сообщение на русском не влияет на работу.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
18 Июль 2019, 17:11:11
Ответ #14
  • Новичок
  • *
  • Сообщений: 27
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проблема была в кодировке. Причем у меня почему-то не получалось перевести мой шаблон в utf-8 (руки не из того места наверно). Удалил всю кириллицу - после этого получилось. Потом ручками дописал текст. Теперь все работает.