Настройка статуса заказа и добавление пользовательских носителей в Magento 1.5.1.0 - PullRequest
2 голосов
/ 12 июля 2011

Я пытаюсь создать заказ и назначить номер доставки для этого заказа при размещении заказа. Но я вижу, что когда у меня есть счет-фактура и добавленная отгрузка, magento автоматически устанавливает статус заказа на «завершить». Я пытался изменить статус вручную, но это не сработало.

$order = Mage::getModel('sales/order');
            $order->loadByIncrementId($orderId);
            $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true);
            $order->save();

Может ли кто-нибудь подсказать мне, как это преодолеть? Кроме того, как я могу добавить пользовательский носитель? По умолчанию это DHL, FedEx, UPS. Я хочу добавить один похожий на них. Вот как я это делаю:

$carrier = "dhl";
            $title = "DHL";
            $trackNumber = '538099';
            if (1) {
                $itemsQty = $order->getItemsCollection()->count();

    $shipment =Mage::getModel('sales/service_order',$order)->prepareShipment($itemsQty);
                $shipment = new Mage_Sales_Model_Order_Shipment_Api();
                $shipmentId = $shipment->create($orderId);


$shipment->addTrack($shipmentId,$carrier,$title,$trackNumber);
        }

Для носителя и заголовка, если я даю произвольное имя, я получаю сообщение об ошибке неверного носителя в отчете. Как мне это сделать? Спасибо.

1 Ответ

1 голос
/ 26 ноября 2011

Вы можете использовать функцию addStatusToHistory .Это также используется для добавления комментариев.

$order->addStatusToHistory('processing', 'Order is being processed', false);
  • параметр 1 (строка): новый статус
  • параметр 2 (строка): Ваш комментарий
  • параметр 3 (логическое значение): если хотитеотправить клиенту уведомление по электронной почте.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...