Создать поле Контрольный Вопрос-Ответ

Автор Skam, 24 февраля 2015, 19:26:12

« назад - далее »

Skam

Как создать поле Контрольный Вопрос-Ответ, для подтверждения данных Телефон, Почтовый ящик?

coder


Skam

На странице личной информации, странице регистрации и на странице адресс, необходимо ввести контрольный(секретный) вопрос ответ, чтобы подтвердить телефон и почтовый ящик

Mr.Sen

Это модуль делать нужно. Если просто добавить поле, то в шаблоне вставить
<input type="text" value="{$myvar}" />

Skam

Добавил поле в identity.tpl а что еще нужно добавить в какие поля?
Если сделать на примере пароля? то какие обязательные поля нужно добавлять в ядро и шаблон?

Adik

#5
Для добавления нового поля в любом файле правила общии.
Вот тут написано про новое поле к товару - 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

Skam

#6
я добавил в шаблон

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


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

PrestaMan

<input type="text" value="{вот тут название новой переменной, которую потом нужно сравнить с кон.вопросом}" />
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

Skam

это я понял, а какие поля нужно добавить в контролеры и класы? что бы это работало

mistral

Цитата: Adik от 25 февраля 2015, 17:05:16
Для добавления нового поля в любом файле правила общии.
Вот тут написано про новое поле к товару - 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, а так как вы назвали эти поля.

Skam

поля я переназвал, а вот какой код который нужно дополнительно добавить в контролеры я не понял.

mistral

В контроллере добавлять код только если есть проверка этого поля. Если проверки нет, то достаточно только в классе
'fields' => array(
// Classic fields
                // после всех переменных
                ...........
                'myvar' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isGenericName', 'size' => 255),

Skam

#12
сохранения в базу не происходит, что для этого нужно, проверку в клас добавил, в шаблон добавил, в таблицу customer добавил controlres. 
Нужно добавить сохранения ответа в базу, и ввод секретного ответа для изменения данных почты или телефона, какие еще запросы нужно добавить для этого?

coder

Цитата: Виталий от 27 февраля 2015, 17:40:49
1. Добавить поля в таблицу ps_customer
2. Добавить переменные в класс Customer.php
3. Добавить сохранение этих переменных в IdentityController.php
$this->customer->one_phone_at_least = Tools::getValue('one_phone_at_least');
...