Обязательные поля, гостевая покупка, prestashop 1.5

Автор Esmeralda773, 12 марта 2013, 20:32:47

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

Esmeralda773

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

Я очень долго ищу ответ на этот вопрос. Для версии 1.4 нужно было отредактировать Adress.php, но для версии 1.5 это не работает - нужной строчки нет.
Пожалуйста помогите!

Виктор Демидов

Обязательные поля проходят проверку. Все что можно сделать без изменения кода, это установить поля для адреса и клиента
Локализация > Страны > Редактирование > Страна > Формат адреса > Обязательные поля для адреса
или назначить полю первоначальное значание.
Поиск, Как скрыть поля.

Esmeralda773

#2
Я уже так делала. Убрала все, оставив только телефон и мейл, однако, Преста все равно выдает ошибку, что нужно заполнить поля. Для наглядности приведу скрины, может, я что-то не так делаю или не допоняла.  :'(
Затем сохраняю.
Итак, ошибка
Снова требует имя и фамилию, хотя я эти поля и удалила.
И часть полей исчезла вовсе (их нет в форме, нельзя заполнить), а не перешли в статус "необязательных".

Виктор Демидов

ЦитироватьОбязательные поля проходят проверку.
Поля: Имя, Фамилие, Страна, email - обязательные. Их нельзя удалить из админки.
Нужно не просто скрывать поля, а присвоить им какие-то значения.

mAgency

#4
1. Сделать поля в форме регистрации не обязательными:
В файле - /classes/Customer.php
2. Сделать поля в форме адреса не обязательными:
В файле - /classes/Address.php

public static $definition = array(
...

Заменить
'required' => true
на
'required' => false

Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Esmeralda773

Огромное всем спасибо, отредактировала Adress.php и теперь все как надо :)

Delagardi

#6
Спасибо, все сделал как вы говорили. Регистрация упростилась, но возникают такие ошибки при покупке:

There are 3 ошибки :
01. id страны необходим.
02. город необходим.
03. Неверный токен

С последней, погугливши, разобрался. Если у кого-то возникнет, нужно в админке зайти в настройки и там, напротив пункта "Улучшить безопасность" перключить на "Нет".

С остальными не могу разобраться. Подскажите, пожалуйста, как их убрать?
У меня PrestaShop 1.5.4.0

P.S. Прошу прощения за эту некрофилию, но эта тема хорошо проиндексирована гуглом и думаю будущим поколениям будет полезно найти все проблемы в одном месте.

mAgency

#7
Задайте фикс. значения этим полям и все будет работать.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

Delagardi

Цитировать
Задайте фикс. значения этим полям и все будет работать.

Спасибо за ваш ответ.

Подскажите, эти значения нужно задавать в файле order-opc-new-account.tpl ? В той теме ничего об этом не сказано, а мне изменения в этом файле никак не помогли :\

coder

Написано же
Цитировать<input type="hidden" name="state" id="state" value="код страны из вашей бд, например у меня для  России код 247" />
Берете любое поле, которое нужно спрятать, например, поле - страна, и прописываете значение (в админке смотрите ид страны, у меня Россия ид=178)
{elseif $field_name eq "country" || $field_name eq "Country:name"}
        <input type="hidden" class="text" name="id_country" id="id_country" value="178" />
...

Также и для города.

Delagardi

У меня не сработало.

Что я сделал:
1. Файл Adress.php, который находится в корневой папке сайта.
в массиве "public static $definition = array( ..."  я заменил "true" на "false"  в строках с  'id_country' и 'city'

2. Файл order-opc-new-account.tpl, который находится в папке с моей темой:
Для страны
добавил после строки
{elseif $field_name eq "country" || $field_name eq "Country:name"}
строку
<input type="hidden" class="text" name="id_country" id="id_country" value="216" />

Для города
добавил после строки
{elseif $field_name eq "city"}
строку
<input type="hidden" class="text" name="city" id="city" value="321" />

и
добавил после строки
{elseif $field_name eq "city"}
строку
<input type="hidden" class="text" name="city_invoice" id="city_invoice" value="321" />



Подскажите, пожалуйста, что я сделал не так?

coder

Поля город и страна прячу так, в файле order-opc-new-account.tpl
{elseif $field_name eq "country" || $field_name eq "Country:name"}
        <input type="hidden" class="text" name="id_country" id="id_country" value="178" />
...
{elseif $field_name eq "city"}
<input type="hidden" class="text" name="city" id="city" value="Москва" />

Работает без ошибок (в настройках страны указано, что регионы не нужны).
Цитировать"  я заменил "true" на "false"  в строках с  'id_country' и 'city'
Этого не делал, менял только шаблон.

koteyko

#12
Добрый день!
Поправил файлы
/classes/Customer.php
/classes/Address.php
order-opc-new-account.tpl
но выдает ошибку
TECHNICAL ERROR: unable to save account
Details:
Error thrown: [object Object]
Text status: error

Помогите пожалуйста!

coder

Где-то ошибка, включай показ ошибок и тестируй.

koteyko

#14
{"hasError":true,"errors":["\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438."],"isSaved":false,"id_customer":0}
Вот такая ошибка. Видимо из-за того, что не задано customer_lastname
Можете помочь?