Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Ошибка при гостевой регистрации
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


21-07-2015 18:35
При гостевой регистрации\покупке постоянно ругается на телефон. Какой блин формат ему нужен?

А лучше вообще убрать телефоны, адреса.
Они в принципе и не нужны, товар то электронный.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


21-07-2015 20:38
Цитата:( Megazubr @ 21-07-2015 19:35 Смотреть сообщение )
постоянно ругается на телефон. Какой блин формат ему нужен?

Формат можно посмотреть в файле /classes/Validate.php метод isPhoneNumber.

Код:
return preg_match('/^[+0-9. ()-]*$/', $phoneNumber);

Из кода выше видно что проходить могут любые форматы записи, немного примеров ниже:

  • 70000000000
  • 7(000)0000000
  • 7 000 000 00 00
  • +7-000-000-00-00


Цитата:( Megazubr @ 21-07-2015 19:35 Смотреть сообщение )
А лучше вообще убрать телефоны, адреса.
Они в принципе и не нужны, товар то электронный.

Простейший вариант заполнить данные поля в шаблоне и скрыть их через type=hidden.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


21-07-2015 22:12
Если не затруднит, можете пожалуйста привести пример, как это должно выглядеть? Я к сожалению довольно слабо в коде разбираюсь, только учусь :read:

Код:
{elseif $field_name eq "address1"}
               <p class="required text">
                    <label for="address1">{l s='Address'}</label>
                    <input type="hidden" class="text" name="address1" id="address1" value="улица Иосифа Виссарионовича" />
                    <sup>*</sup>
                </p>


Так? А если это поле обязательно, где его обязательность изменить?


Сообщение отредактировано Megazubr 21-07-2015 21:14 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


22-07-2015 01:53
Цитата:( Megazubr @ 21-07-2015 23:12 Смотреть сообщение )
Так?

Да, код выше верен. После установки подобного у всех покупателей в поле адрес будет установлено: "улица Иосифа Виссарионовича".
Данная модификация - это лучший вариант, не возникнут проблемы с ядром или доп. модулями при последующей работе ИМ.

Цитата:( Megazubr @ 21-07-2015 23:12 Смотреть сообщение )
А если это поле обязательно, где его обязательность изменить?

Для адреса это файл /classes/Address.php удалить address1 из следующей строки:
Код:
protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'city');

Также запись может доп. проверяться в контроллере:
- для стандартного оформления: /controllers/OrderController.php
- для оформления в один шаг: /controllers/OrderOpcController.php
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


29-07-2015 18:45
всё сделал, остались обязательными только
Страна, область, телефон.
И почему то почтовый код :eek:
Подскажите пожалуйста, где их изменить?


Сообщение отредактировано Megazubr 29-07-2015 17:46 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


29-07-2015 18:56
Панель управления > Доставка > Страны :: найдите в списке страну используемую по умолчанию > Индекс > Нет

Панель управления > Доставка > Страны :: найдите в списке страну используемую по умолчанию > Страна содержит регионы > Нет

Поля страна и телефон скройте в шаблоне через type="hidden"
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


29-07-2015 23:26
Спасибо, понял.
Возникла еще проблема.
При регистрации в адресе доставки дублируется имя и фамилия.
При заполнении первых, вторые заполняются автоматом.
Но при попытке скрыть через type="hidden" , или закоментить вылетает ошибка парсинга.
А при попытке убрать 'lastname', 'firstname' в /classes/Address.php всё обваливается.

Как скрыть чтобы не получить горсть ошибок?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


30-07-2015 01:19
Откройте шаблон: /themes/тема/authentication.tpl
после:
Код:
<input type="hidden" name="is_new_customer" value="1" />

добавьте:
Код:
<input type="hidden" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />
<input type="hidden" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" />

Прочие блоки с name="firstname" и name="lastname" удалите.

Или убрать проверку в файле /controllers/AuthController.php
Код:
$lastnameAddress = $_POST['lastname'];
$firstnameAddress = $_POST['firstname'];

замените на:
Код:
$lastnameAddress = Tools::getValue('customer_lastname');
$firstnameAddress = Tools::getValue('customer_firstname');
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


31-07-2015 20:41
Убрал поля. Оставил только мыло и пароль.

Требует Фамилию, Имя.
Ругается на строки
Код:
$_POST['lastname'] = $_POST['customer_lastname'];
$_POST['firstname'] = $_POST['customer_firstname'];

В AuthController.php
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Megazubr
Новичок
Сообщений: 19
Регистрация: 24-11-2012


31-07-2015 20:46
А как сделать тоже-самое для регистрации на странице заказа?
там тоже требует телефон. фамилию, имя, индекс.

 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >