如何在定制配送模块的collectRates中获取订单信息(如配送方式和付款信息)?我认为它可以从 Mage _航运_模型_费率_请求,但我不知道如何。
kx7yvsdv1#
无法获取collectRates中的订单数据,因为订单尚未创建。您可以获取quote信息。但我怀疑你是否能够得到送货方式或付款信息,因为collectRates是被调用时,结帐是试图显示送货方式步骤在结帐。因此,通常你没有设置送货方式或付款方式...除非有人已经填写并刷新了页面。您可以按如下方式访问报价:collectRates方法接收一个名为$request的参数,正如您所说的。请执行以下操作:
collectRates
quote
$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();
并使用上面的方法。最后一种方法唯一的缺点是它在后端不起作用。
1条答案
按热度按时间kx7yvsdv1#
无法获取
collectRates
中的订单数据,因为订单尚未创建。您可以获取quote
信息。但我怀疑你是否能够得到送货方式或付款信息,因为
collectRates
是被调用时,结帐是试图显示送货方式步骤在结帐。因此,通常你没有设置送货方式或付款方式...除非有人已经填写并刷新了页面。
您可以按如下方式访问报价:
collectRates
方法接收一个名为$request
的参数,正如您所说的。请执行以下操作:
您还可以在任何位置访问报价,如下所示:
并使用上面的方法。最后一种方法唯一的缺点是它在后端不起作用。