Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Magento: изменение статуса заказа

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Янв 01, 2019 8:57 am    Заголовок сообщения: Magento: изменение статуса заказа
Ответить с цитатой

Иногда в следствие технических сбоев или других событий необходимо изменить статус заказа. Можно это просто сделать через админку, а можно через PHP.

Для начала надо загрузить необходимый заказ.

Если знаете его id, то загрузить его можно так:



$orderId = ВАШ_НОМЕР_ЗАКАЗА;
$order = Mage::getModel('sales/order')->load($orderId);


Если знаете его инкрементный id, то загрузить его можно так:



$orderIncrementId = ВАШ_ИНКРЕМЕНТНЫЙ_НОМЕР_ЗАКАЗА;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);


Загрузив заказ, можно делать с ним:

Поставить статус COMPLETE



$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();


Поставить статус NEW



$order->setState(Mage_Sales_Model_Order::STATE_NEW, true)->save();


Поставить статус PENDING PAYMENT

$order->setState(Mage_Sales_Model_Order::STATE_PENDING_PAYMENT, true)->save();


Поставить статус PROCESSING

$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();


Поставить статус COMPLETE



$order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true)->save();


Поставить статус CLOSED

$order->setState(Mage_Sales_Model_Order::STATE_CLOSED, true)->save();


Поставить статус CANCELED

$order->setState(Mage_Sales_Model_Order::STATE_CANCELED, true)->save();


Поставить статус HOLD

$order->setState(Mage_Sales_Model_Order::STATE_HOLDED, true)->save();


Также заказ можно отменить так:

if($order->canCancel()) {
$order->cancel()->save();
}


Или заморозить:

if($order->canHold()) {
$order->hold()->save();
}


Или разморозить:

if($order->canUnhold()) {
$order->unhold()->save();
}

Другой способ:

$order_id = $session->getLiqpayLastRealOrderId();
$quote_id = $session->getLiqpayQuoteId(true);

$order = $this->getOrder();
$order->loadByIncrementId($order_id);

if ($order->isEmpty()) {
return false;
}

$method = $this->getLiqpay();
if ($method->getConfigData('sandbox')) {
$order->addStatusHistoryComment(
Mage::helper('liqpay')->__('Invoice was placed in sandbox mode.'),
Mage_Sales_Model_Order::STATE_PROCESSING
);
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
newcomer

Участник тусовки


Зарегистрирован: 01.06.2011
Сообщения: 246
Откуда: юг Украины

СообщениеДобавлено: Вт Янв 01, 2019 10:31 am    Заголовок сообщения:
Ответить с цитатой

С новым годом!Я смотрю,кто празднует,а кто-то и работает.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вт Янв 01, 2019 10:38 am    Заголовок сообщения:
Ответить с цитатой

newcomer, С Новым годом!

Для себя заметку оставил )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Сергей Борисович

Завсегдатай


Зарегистрирован: 13.10.2012
Сообщения: 760

СообщениеДобавлено: Вт Янв 15, 2019 7:33 pm    Заголовок сообщения:
Ответить с цитатой

Да , с Новым Годом ( без восклицательного знака ).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис