Ответить Новая тема Новый опрос 
 новый промежуточный статус в модуле bankwire
saigack
Новичок
Сообщений: 18
Регистрация: 13-07-2010


13-12-2010 12:51
Здравствуйте, есть необходимость, чтобы при выборе способа оплаты "банковский перевод" статус заказа сначала ставился не "ждем оплату", а "Заказ поступил в обработку", а потом уже после проверок всех статус менять. В админке создал новый статус "Заказ поступил в обработку", а как сделать чтобы сначала именно этот статус выставлялся?
Заранее спасибо за ответы.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


13-12-2010 13:00
/modules/bankwire/validation.php заменить
Код:
$bankwire->validateOrder($cart->id, _PS_OS_BANKWIRE_, $total, $bankwire->displayName, NULL, $mailVars, $currency->id);

на
Код:
$bankwire->validateOrder($cart->id, номер_нового_статуса, $total, $bankwire->displayName, NULL, $mailVars, $currency->id);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
saigack
Новичок
Сообщений: 18
Регистрация: 13-07-2010


13-12-2010 13:37
ors, спасибо! сделал как ты сказал, теперь статус ставится какой мне нужно, но при заказе после нажатия кнопки "Я подтверждаю свой заказ" на странице order-confirmation.php пишет ошибку: "Мы заметили проблемы с вашим заказом. Если вы считаете, что это ошибка, свяжитесь с нами поддержка клиентов."
Из-за чего это может быть?

И еще, при заказе кроме письма с темой "Заказ поступил в обработку" приходит письмо "Подтверждение заказа", как сделать, чтобы это письмо не отсылалось?


Сообщение отредактировано saigack 13-12-2010 14:43 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Michel II
Профессионал
Сообщений: 473
Регистрация: 08-06-2012


24-09-2012 22:11
присоединяюсь к saigack.
требуется , что бы при оплате переводом статус присваивался "новый" а не "ожидает оплаты".
и точно так же, указанная модификация приводит к появлению ошибки.

пс. вместо PS_OS_BANKWIRE пробовал вписывать и просто 3 (айди статуса "новый" и так же
PS_OS_PREPARATION - это значение name статуса "новый"

= все равно возникает ошибка при совершении покупки. точнее- сообщение о том что "Мы заметили проблемы с вашим заказом. Если вы считаете, что это ошибка, свяжитесь с нами обратной связи.
"



Сообщение отредактировано Michel II 24-09-2012 18:18 ...
 



preatashop v1.4.10
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Michel II
Профессионал
Сообщений: 473
Регистрация: 08-06-2012


24-09-2012 22:25
ps
и даже пробовал менять значение value у таблицы PS_OS_BANKWIRE на "3", что бы было как у "нового".
и врде все тогда получается, да вот только в письме-уведомлении вместо значений переменных приходят сами переменнные
Вы выбрали способ оплаты банковским платежем. Реквизиты для оплаты:

{bankwire_owner}

{bankwire_details}

{bankwire_address}
 



preatashop v1.4.10
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Barmunk
Новичок
Сообщений: 27
Регистрация: 02-04-2011


29-10-2012 20:34
Кому еще интересно как менять статус заказа по умолчанию для модуля оплаты, опишу ниже.

1. Находим исполняемый php файл модуля, на примере bankwire это validation.php. Там находим строчку:
Цитата:
$bankwire->validateOrder($cart->id, _PS_OS_BANKWIRE_, $total, $bankwire->displayName, NULL, $mailVars, $currency->id);
В ней мы видим функцию _PS_OS_BANKWIRE_ это как раз и есть статус заказа. Меняем его на любой рандомный. К примеру: _PS_OS_VTB_

2. Далее идем в /config/defines.inc.php. Там находим define('_PS_OS_BANKWIRE_', 10); и строчкой ниже пишем нашу новую функцию define('_PS_OS_VTB_', 19); Цифра 19 относится к айди вашего статуса в админке. Не забудьте сменить!


Сообщение отредактировано Barmunk 29-10-2012 21:34 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Barmunk
Новичок
Сообщений: 27
Регистрация: 02-04-2011


29-10-2012 20:45
Если нужен статус который уже прописан defines.inc.php, ничего нового создавать не нужно. Берете от туда нужный вам статус, к примеру _PS_OS_PAYMENT_ и заменяете им _PS_OS_BANKWIRE_. В итоге должно получиться вот так: $bankwire->validateOrder($cart->id, _PS_OS_PAYMENT_, $total, $bankwire->displayName, NULL, $mailVars, $currency->id);
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
wolves3d
Новичок
Сообщений: 1
Регистрация: 15-11-2012


15-11-2012 17:11
Цитата:( saigack @ 13-12-2010 10:37 Смотреть сообщение )
ors, спасибо! сделал как ты сказал, теперь статус ставится какой мне нужно, но при заказе после нажатия кнопки \"Я подтверждаю свой заказ\"  на странице order-confirmation.php пишет ошибку: \"Мы заметили проблемы с вашим заказом. Если вы считаете, что это ошибка, свяжитесь с нами поддержка клиентов.\"
Из-за чего это может быть?

Я вижу что теме много лет, и наверное Вам уже давно не актуально, но вдруг кому-то пригодится.

Нужно модифицировать 2 файла.

Первый, как написано выше, validation.php (здесь происходит присвоение статуса заказу, я использовал \'PS_OS_PREPARATION\')
для ранних версий modules/bankwire/validation.php
а у кого версия > 1.5 modules/bankwire/controllers/front/validation.php

Второй modules/bankwire.php (здесь происходит проверка заказа)
В функции public function hookPaymentReturn($params)
нужно также заменить \'PS_OS_BANKWIRE\' на нужный статус, я выставлял \'PS_OS_PREPARATION\'

Код:
if ($state == Configuration::get(\'PS_OS_BANKWIRE\') || $state == Configuration::get(\'PS_OS_OUTOFSTOCK\'))

на
Код:
if ($state == Configuration::get(\'PS_OS_PREPARATION\') || $state == Configuration::get(\'PS_OS_OUTOFSTOCK\'))


Собственно из-за этой проверки и происходит ошибка, статус заказа был неожиданным для модуля и он генерировал ошибку.


Сообщение отредактировано wolves3d 15-11-2012 14:13 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос