0

プログラムによるmagento 2での注文のキャンセル:

お客様のアカウント ページから保留中の注文をキャンセルするモジュールを magento 1 に実装しました。

私がmagento 1に実装した以下のコードを参照してください。

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

同じ機能をmagento 2に実装したいのですが、実装方法を知っている人はいますか?

Magento 2 で注文 ID を使用して注文をロードしましたが、注文をキャンセルできません。

4

2 に答える 2

2

そのためには API (magento2 API の概念の詳細) を使用する必要があります。クラスでの使用方法の例:

<?php

use Magento\Sales\Api\OrderManagementInterface;

class A
{
    /**
     * @var OrderManagementInterface
     */
    private $orderManagement;

    /**
     * @param OrderManagementInterface $orderManagement
     */
    public function __construct(OrderManagementInterface $orderManagement)
    {
        $this->orderManagement = $orderManagement;
    }

    public function cancelOrderOne()
    {
        $orderId = 1;
        $isCanceled = $this->orderManagement->cancel($orderId);
    }
}
于 2016-02-11T15:59:25.547 に答える