Jump to content

Обязательные поля при регистрации


Recommended Posts

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

  • Like 3
Link to comment
Share on other sites

Для этого надо внести изменения в:
1. classes/Address.php (отвечает за проверку данных формы на стороне сервера).
Строка 80:

protected    $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city');



Можете добавить в перечисление 'phone', я еще и убрал 'postcode'.
2. Внести правки в соответствующие tpl-файлы.

  • Like 2
Link to comment
Share on other sites


...
2. Внести правки в соответствующие tpl-файлы.

Спасибо за оперативный и профессиональный ответ.
Address.php изменил, а можно ещё поподробней насчёт tpl-файлы? Что конкретно надо сделать?
Link to comment
Share on other sites

В папке Вашей темы файлы address.tpl и authentication.tpl - убрать звёздочки у необязательных полей и поставить тем полям, которые Вы сделали обязательными, чтобы посетителю сайта было понятно что к чему.
Там же я поубирал всякие подозрительные для нашего человека поля типа пола и даты рождения.

Link to comment
Share on other sites

  • 1 year later...

Я тоже изменил обязательные переменные при регистрации. В tpl сделал соответствующие изменения, но напротив телефонных номеров (которые я сделал обязательными) стоят звездочки не красного цвета, а почему-то серого. Почему так? В коде вроде нет, чтобы звездочки напротив имени и в других местах были именно красного цвета. Или я ошибаюсь?

Link to comment
Share on other sites

  • 3 months later...
Есчё такой вопрс как в форме ригестрации переиминовать поля и добавит новые ?

В переводах выбираете раздел Field name translations и меняете существующие переводы.

А с добавлением... Общая рекомендация -- вообще, разрешить оформление покупки без регистрации (для этого есть и специальная настройка в админке). Регистрация же вообще, а тем более -- усложнённая, это то, на что покупатель идёт, что называется, стиснув зубы. Подумайте над этим моментом!
  • Like 1
Link to comment
Share on other sites

V.I.P.

да но мне это нжно для юредических лий где они будут указитьать Рег нр. , Название, Банк, номер счёта ! Вовшем мне нужно чтобы клиет вводил реквизиты свои !

Link to comment
Share on other sites

Хочу дополнить предыдущее своё рассуждение.

Говорю приятелю: "А знаешь, что твой ФейсБук сотрудничает с ЦРУ и ФБР?" "Ну, и что, -- говорит, -- кто я такой, чтобы мне от кого-то, вообще, таиться? Червяк!" Не все, однако, считают себя червяками. И не всем хочется, чтобы, кто бы то ни был, знал о них слишком много. В ЖЖ за многие годы ни разу не попытались выведать у меня ни прямо, ни в обход больше моего ника. И я там -- дома. В ФейсБуке я зарегистрировался два года назад и туда не хожу. Зато сам ФейсБук обо мне не забывает. Снова и снова шлёт мне письма с просьбой вернуться. Снова и снова пытается выведать у меня больше того, что я сказал при регистрации. Надо сказать, умно под кожу лезет, зараза. Потому и не отправил его до сих пор в СПАМ; очень любопытно, какую хитрость ещё придумает.

Link to comment
Share on other sites

V.I.P.

А как поменять значение для колонкии ??? Ну типо была фамилия я переиминовар в Рег нр. а он мне пишет фамилия недопустимое значение ???

Link to comment
Share on other sites

Если это для юридических лиц, то нужно спрашивать, скорее всего, у Sorsa. Потому что одного добавления необходимых полей в форму регистрации в этом случае будет не достаточно. Есть же ещё форма договора (и, наверно, не только это), где все эти данные должны также быть отражены в нужном месте и в нужной форме. К Sorsу!

Link to comment
Share on other sites

V.I.P.

А как поменять значение для колонкии ??? Ну типо была фамилия я переиминовар в Рег нр. а он мне пишет фамилия недопустимое значение ???

Для "графы"? Но она так настроена, что запись, которая по виду не может быть фамилией, не пройдёт:
1. двойные фамилии в русском пишутся через чёрточку,
2. фамилия не может включать знаков препинания.

Если Вы хотите полем ввода воспользоваться для вписывания туда регистрационного номера, то он должен иметь вид Рег-Номер (фамилия, получается, такая!)

Но, боюсь, и это не пройдёт. Вряд ли, цифры в фамилии допускаются.

Короче, всё это самодеятельность. Спрашивайте, как надо сделать, у Sorsа!
Link to comment
Share on other sites

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

Link to comment
Share on other sites

Если формат фамилии не предусматривает цифр, то никакой номер не пройдёт. Ясное дело. Но можно добавить специальную графу для регистрационного номера! Потому и говорю, нужно обращаться к Sorsу. Он, в основном, модули пишет или существующие нужным образом подправляет. Если он сам Вашу тему не заметит, обратитесь к нему на его сайте.

Link to comment
Share on other sites

  • 2 months later...

Хочу убрать индекс из Быстрого заказа.. удалил в шаблоне, а вот в Adress.php postcode нет в списке обязательных, но без индекса отказывается делать быстрый заказ..

protected    $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'city');


где копать?

Link to comment
Share on other sites

  • 4 weeks later...

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

Удалил поле Lastname в address.tpl и authentication.tpl, в classes/Address.php тоже удалил этот параметр. Станица регистрации получилась как и задумывалась, но вот сама регистрация не проходит, магазин выдает сообщение об ошибке

Выявлено ошибок: 1 ошибка :

Фамилия обязательно для заполнения

Где копать подскажите кто сталкивался

Link to comment
Share on other sites

  • 2 weeks later...


Где копать подскажите кто сталкивался

Еще не смотрел скрипт но:
Вообще чтобы в будущем не искать в слепую можно ТоталКоммандером пользоваться. Или если Огнелис стоит, использовать аддон Фаирбаг, не знаю для Оперы написали или нет, не проверял...
Часто на форумах читаю, где найти то или это, предложенные утилиты очень облегчают поиск и правку, экономят драгоценное время.
Link to comment
Share on other sites

  • 10 months later...

Для этого надо внести изменения в:

1. classes/Address.php (отвечает за проверку данных формы на стороне сервера).

Строка 80:

protected	$fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city');

 

Можете добавить в перечисление 'phone', я еще и убрал 'postcode'.

2. Внести правки в соответствующие tpl-файлы.

 

 

В PrestaShop™ 1.4.7.3 этот метод уже не помогает, для удаления обязательных полей.

Так вот. Убираем поле телефона на странице оформления товара:

1. Идем в controllers/AuthControler.php

 

2. Удаляем там

if (!Tools::getValue('phone') AND !Tools::getValue('phone_mobile'))

$this->errors[] = Tools::displayError('You must register at least one phone number');
Link to comment
Share on other sites

Я тоже изменил обязательные переменные при регистрации. В tpl сделал соответствующие изменения, но напротив телефонных номеров (которые я сделал обязательными) стоят звездочки не красного цвета, а почему-то серого. Почему так? В коде вроде нет, чтобы звездочки напротив имени и в других местах были именно красного цвета. Или я ошибаюсь?

Я просто вручную прописал стиль с красным цветом! <sup style="color: RED;">*</sup>.

Я так пологаю что поля телефона заключены в тег <p class="text"> а для него просто не прописан стиль для тега <sup>. Долго копать не стал, вручную все исправил.

Link to comment
Share on other sites

  • 3 months later...

Здравствуйте, вопрос по поводу PrestaShop 1.4.9, а именно по поводу покупки гостем. Заполнил все обязательные поля значением в order-opc-new-account.tpl, но сначала не скрывал, добился покупки только по номеру телефона... все хорошо! Но только делаю input'ы type="hidden" или style="display:none;" все требует ввести обязательные поля, хотя смотрел FireBug'ом value заполнены? Как заставить игнорировать видимость полей? Или есть другой способ решения этой проблемы?

Выше версии 1.4.7 Address.php уже не помогает! и там нет email, если что исправьте))

В controllers/AuthControler.php тоже по поводу email ничего не нашел... если что ткните носом)))

(перекомпиляция включена)

Link to comment
Share on other sites

Здравствуйте, вопрос по поводу PrestaShop 1.4.9, а именно по поводу покупки гостем. Заполнил все обязательные поля значением в order-opc-new-account.tpl, но сначала не скрывал, добился покупки только по номеру телефона... все хорошо! Но только делаю input'ы type="hidden" или style="display:none;" все требует ввести обязательные поля, хотя смотрел FireBug'ом value заполнены? Как заставить игнорировать видимость полей? Или есть другой способ решения этой проблемы? Выше версии 1.4.7 Address.php уже не помогает! и там нет email, если что исправьте)) В controllers/AuthControler.php тоже по поводу email ничего не нашел... если что ткните носом))) (перекомпиляция включена)

Нашел решение сам) После того как в input вставили значения применили к их родителям style=«display:none;» находим файл тема/js/order-opc.js находими Раздел RESET ERROR(S) MESSAGE(S) примерно 522 строка и в строках:

$('#opc_account_form select:visible').each(function()

$('#opc_account_form input:visible').each(function()

удаляем :visible если что то не получается стучите protas.boxСАБАКАmailru

Edited by Diverweb (see edit history)
Link to comment
Share on other sites

  • 8 months later...

В файле Adress.php я оставляю только имя и фамилию

protected $fieldsRequired = array('lastname', 'firstname');

А вот в шаблоне регистрации display и type hidden - исключают параметр из участия в формировании страницы, а Страна - обязательный параметр, поэтому и ошибки прут.

В админке ставьте вашу страну по умолчанию, в файле order-opc-new-account.tpl пишите в поле страны <p class="required select" style="visibility:hidden">

тогда поля визуально нет, но оно работает.

Удачи

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

по аналогии смотри Authcontroller + класс customer и address

Подскажите, как в 1.5.4 добавить поле "Отчество" и сделать его обязательным как и Имя с Фамилией? Что для этого надо сделать?

Link to comment
Share on other sites

  • 2 weeks later...

 

А с добавлением... Общая рекомендация -- вообще, разрешить оформление покупки без регистрации (для этого есть и специальная настройка в админке). Регистрация же вообще, а тем более -- усложнённая, это то, на что покупатель идёт, что называется, стиснув зубы. Подумайте над этим моментом!

Прокомментирую, хоть это и было давно написано.

 

Это - абсолютно правильные слова!

Сравните с оффлайн-магазином - никто не просит на кассе перед покупкой рассказать о себе массу инфы, правильно заполнить капчу, дождаться ответного имейла/звонка и только потом передать деньги. На кассе в оффлайне волнует только один вопрос - не спер ли что-то покупатель расплатитесь ли вы.

 

Вот мне кажется, так и должно быть с онлайн-шопом - если хочешь - регистрируйся (и получишь такие-то допсервисы), но если нет - да пожалуйста! - выбирай товар и плати.

 

(А кому не хватает для счастья кучи регданных - может взять на почте "золотые страницы" ;))

Link to comment
Share on other sites

  • 3 months later...

Прокомментирую, хоть это и было давно написано.

 

Это - абсолютно правильные слова!

Сравните с оффлайн-магазином - никто не просит на кассе перед покупкой рассказать о себе массу инфы, правильно заполнить капчу, дождаться ответного имейла/звонка и только потом передать деньги. На кассе в оффлайне волнует только один вопрос - не спер ли что-то покупатель расплатитесь ли вы.

 

Вот мне кажется, так и должно быть с онлайн-шопом - если хочешь - регистрируйся (и получишь такие-то допсервисы), но если нет - да пожалуйста! - выбирай товар и плати.

 

(А кому не хватает для счастья кучи регданных - может взять на почте "золотые страницы" ;))

Поддерживаю! Сам бьюсь над этим вопросом особенно виртуальный товар! Там вообще в принципе нечего заполнять заплатил-забрал! Но вот вопрос к кому с этим обращаться и где копать если некому обратится? 

Link to comment
Share on other sites

  • 3 weeks later...

Поддерживаю! Сам бьюсь над этим вопросом особенно виртуальный товар! Там вообще в принципе нечего заполнять заплатил-забрал! Но вот вопрос к кому с этим обращаться и где копать если некому обратится? 

http://www.prestashop.com/forums/topic/284278-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7-%D0%BD%D0%B0-%D0%BE%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B5/?do=findComment&comment=1431857

Link to comment
Share on other sites

  • 5 years later...

Для Prestashop 1.7.5.1 не нашел в инете решения, чтобы сделать поле телефона обязательным.

Решение такое

1. копируем classes/form/CustomerAddressFormatter.php в override/classes/form/CustomerAddressFormatter.php

Ищем там строчку. 

} elseif ($field === 'phone') {

после нее вставляем

$formField->setRequired(true);

 

2. копируем classes/Address.php в override/classes/Address.php

меняем строку

'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 32),

на 

'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'required' => true, 'size' => 32),

 

Шаблоны в этой версии генерируются на лету, на фронте поле станет обязательным для заполнения.

Link to comment
Share on other sites

  • 5 months later...

В Prestashop 1.7.6.4 в админ панели в разделе: Продажа -> Клиенты -> Адреса, под списком полей с адресами есть кнопка "Задайте поля, обязательные для этого раздела". Там можно отметить обязательные поля для формы ввода адреса.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...