php Magento 1.7获取订单数据表Mage_Shipping_Model_Rate_Request

soat7uwm  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(101)

如何在定制配送模块的collectRates中获取订单信息(如配送方式和付款信息)?
我认为它可以从 Mage _航运_模型_费率_请求,但我不知道如何。

kx7yvsdv

kx7yvsdv1#

无法获取collectRates中的订单数据,因为订单尚未创建。您可以获取quote信息。
但我怀疑你是否能够得到送货方式或付款信息,因为collectRates是被调用时,结帐是试图显示送货方式步骤在结帐。
因此,通常你没有设置送货方式或付款方式...除非有人已经填写并刷新了页面。
您可以按如下方式访问报价:
collectRates方法接收一个名为$request的参数,正如您所说的。
请执行以下操作:

$quote = false;
foreach ($request->getAllItems() as $item){
    $quote = $item->getQuote();
    break;
}
if ($quote) {
     $shippingMethod = $quote->getShippingAddress()->getShippingMethod();
     $payment = $quote->getPayment();
}

您还可以在任何位置访问报价,如下所示:

$quote = Mage::getSingleton('checkout/session')->getQuote();

并使用上面的方法。最后一种方法唯一的缺点是它在后端不起作用。

相关问题