Ответить Новая тема Новый опрос 
 Гостевой заказ
Zorend
Новичок
Сообщений: 8
Регистрация: 24-09-2014


24-09-2014 16:08
При создании нового гостевого заказа, создается гостевая учетная запись, но когда тот же клиент создаст ещё один гостевой заказ, создастся ещё одна учетная запись идентичная предыдущей - вот скрин http://c2n.me/iXVIQ6

Можно ли как то сделать так что бы не создавались дублируемые учетные записи.


Сообщение отредактировано Zorend 24-09-2014 11:09 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


25-09-2014 13:26
Проверять клиента по эл.адресу - если покупатель существует загружать иначе создавать нового пользователя:
Открыть /controllers/front/AuthController.php
после:
Код:
if (Tools::isSubmit('is_new_customer'))
                    $customer->is_guest = !Tools::getValue('is_new_customer', 1);
                else
                    $customer->is_guest = 0;


добавить:
Код:
if(!Tools::getValue('is_new_customer'))
                {
                    if ($id_customer = Customer::customerExists(Tools::getValue('email'), true, false))
                        $customer = new Customer((int)$id_customer);
                }


Код:
if (!$customer->add())

заменить на:
Код:
if ($id_customer ? !$customer->update() : !$customer->add())
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Zorend
Новичок
Сообщений: 8
Регистрация: 24-09-2014


25-09-2014 15:11
сразу после строки "$customer->is_guest = 0;" добавляю
if(!Tools::getValue('is_new_customer'))
{
if ($id_customer = Customer::customerExists(Tools::getValue('email'), true, false))
$customer = new Customer((int)$id_customer);
}
и заменяю
if (!$customer->add()) на
if ($id_customer ? !$customer->update() : !$customer->add())
и оно все ровно создает одинаковых клиентов, у меня установлен модуль OnePageCheckOut и он переписывает контролер аутентификации, я сделал замены в оригинальном контроллере и в контроллере модуля тоже, все без изменений, создаются и все.

Версия престы 1.5.6.1


Сообщение отредактировано Zorend 25-09-2014 10:19 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


25-09-2014 15:19
Цитата:( Zorend @ 25-09-2014 16:11 Смотреть сообщение )
и оно все ровно создает одинаковых клиентов, у меня установлен модуль OnePageCheckOut

Данного модуля у меня нет - подсказать не смогу, обратитесь к разработчику модуля "OnePageCheckOut".

Выше код был для стандартной системы оформления заказа используемой в PrestaShop по умолчанию.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Zorend
Новичок
Сообщений: 8
Регистрация: 24-09-2014


25-09-2014 15:34
попробовал отключить модуль, без модуля все работает, включаешь модуль и опять создает.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Zorend
Новичок
Сообщений: 8
Регистрация: 24-09-2014


25-09-2014 15:35
А могли бы вы посмотреть, если бы я вам скинул этот модуль?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


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


25-09-2014 15:38
Цитата:( Zorend @ 25-09-2014 16:35 Смотреть сообщение )
А могли бы вы посмотреть, если бы я вам скинул этот модуль?

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