Автор Тема: Создать поле Контрольный Вопрос-Ответ  (Прочитано 382 раз)

24 Февраль 2015, 19:26:12
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как создать поле Контрольный Вопрос-Ответ, для подтверждения данных Телефон, Почтовый ящик?
24 Февраль 2015, 19:55:33
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33071
  • Репутация: +26762/-0
    • Просмотр профиля
Где? Страница, форма, письмо...?
25 Февраль 2015, 15:50:32
Ответ #2
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
На странице личной информации, странице регистрации и на странице адресс, необходимо ввести контрольный(секретный) вопрос ответ, чтобы подтвердить телефон и почтовый ящик
25 Февраль 2015, 15:52:52
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1288
  • Репутация: +34/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Это модуль делать нужно. Если просто добавить поле, то в шаблоне вставить
<input type="text" value="{$myvar}" />
25 Февраль 2015, 16:33:53
Ответ #4
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добавил поле в identity.tpl а что еще нужно добавить в какие поля?
Если сделать на примере пароля? то какие обязательные поля нужно добавлять в ядро и шаблон?
25 Февраль 2015, 17:05:16
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 14086
  • Репутация: +14569/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Для добавления нового поля в любом файле правила общии.
Вот тут написано про новое поле к товару - http://prestashop-forum.ru/index.php/topic,2835.0.html
Тоже самое и для identity
1. В шаблон identity.tpl
2. В контроллер, который показывает этот шаблон, IdentityController.php
3. В класс Customer.php или CustomerMessage.php
4. В таблицу ps_customer или ps_customer_message
26 Февраль 2015, 15:30:29
Ответ #6
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
я добавил в шаблон

<p class="required text">
<label for="old_passwd">{l s='Сontrol response'} <sup>*</sup></label>
<input type="text" value="{$myvar}" />
</p>

какой код нужно добавить что бы поле которое сохранили при регистрации контрольным ответом, после в личном кабинете оно не отображалось, а пользователь его вводил для подтверждения изменения регистрационных данных телефона и почты
26 Февраль 2015, 15:42:46
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 21027
  • Репутация: +25282/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
<input type="text" value="{вот тут название новой переменной, которую потом нужно сравнить с кон.вопросом}" />
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
26 Февраль 2015, 15:55:40
Ответ #8
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
это я понял, а какие поля нужно добавить в контролеры и класы? что бы это работало
26 Февраль 2015, 16:41:47
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 943
  • Репутация: +10/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для добавления нового поля в любом файле правила общии.
Вот тут написано про новое поле к товару - http://prestashop-forum.ru/index.php/topic,2835.0.html
Тоже самое и для identity
1. В шаблон identity.tpl
2. В контроллер, который показывает этот шаблон, IdentityController.php
3. В класс Customer.php или CustomerMessage.php
4. В таблицу ps_customer или ps_customer_message
Все как в примере, только поменяйте названия на ваши.
Конечно не myvar, а так как вы назвали эти поля.
27 Февраль 2015, 16:59:34
Ответ #10
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
поля я переназвал, а вот какой код который нужно дополнительно добавить в контролеры я не понял.
27 Февраль 2015, 17:22:54
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 943
  • Репутация: +10/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В контроллере добавлять код только если есть проверка этого поля. Если проверки нет, то достаточно только в классе
'fields' => array(
// Classic fields
                // после всех переменных
                ...........
                'myvar' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255),
28 Февраль 2015, 16:55:34
Ответ #12
  • Новичок
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
сохранения в базу не происходит, что для этого нужно, проверку в клас добавил, в шаблон добавил, в таблицу customer добавил controlres. 
Нужно добавить сохранения ответа в базу, и ввод секретного ответа для изменения данных почты или телефона, какие еще запросы нужно добавить для этого?
01 Март 2015, 12:17:17
Ответ #13
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 33071
  • Репутация: +26762/-0
    • Просмотр профиля
1. Добавить поля в таблицу ps_customer
2. Добавить переменные в класс Customer.php
3. Добавить сохранение этих переменных в IdentityController.php
$this->customer->one_phone_at_least = Tools::getValue('one_phone_at_least');
...