要在 Magento 2 中获取订单信息,您可以在自定义模块或块类中使用以下代码:
<?php
namespace Vendor\Module\Block;
use Magento\Framework\View\Element\Template;
use Magento\Sales\Api\OrderRepositoryInterface;
class OrderInfo extends Template
{
protected $orderRepository;
public function __construct(
Template\Context $context,
OrderRepositoryInterface $orderRepository,
array $data = []
) {
$this->orderRepository = $orderRepository;
parent::__construct($context, $data);
}
public function getOrderInfo($orderId)
{
$order = $this->orderRepository->get($orderId);
return $order;
}
}
在上面的代码中,我们正在创建一个OrderInfo扩展Template类的块类。OrderRepositoryInterface我们正在将用于获取订单信息的构造函数中注入。我们还定义了一个getOrderInfo方法,该方法将订单 ID 作为参数并返回订单信息。
要在模板中使用此块,您可以调用该getOrderInfo方法并传入订单 ID,如下所示:
$orderInfoBlock = $block->getLayout()->createBlock('Vendor\Module\Block\OrderInfo');
$order = $orderInfoBlock->getOrderInfo($orderId);
这里$orderId是您要为其检索信息的订单的 ID。然后,您可以使用该$order对象访问订单的各种属性,如订单号、客户名称、账单和送货地址等。

