我工作的一个项目将magento中的失败页面和成功页面完全相同,并且两者都需要一些跟踪代码。跟踪代码需要订单ID和订购金额。我遇到的问题是尝试在失败页面上获取订单总数。
块类Mage_Checkout_Block_Onepage_Failure
中内置的方法是getRealOrderId()
,getErrorMessage()
和getContinueShoppingUrl()
,所以没有帮助。
我发现一些代码可以在成功页面上执行我想要的操作,但它不适用于失败页面。
<?php
$orderId = $this->getRealOrderId();
$order = Mage::getSingleton('sales/order');
$order->load($orderId);
$_totalData = $order->getData();
$_grand = $_totalData['grand_total'];
?>
我转储了$order
和$_totalData
。 $_totalData
只是一个空数组,$order
是一个空的Mage_Sales_Model_Order
实例。
有没有人有什么建议可以获得所购物品的总数?
此致 基兰
(我也遇到了测试成功页面的问题,因为我无法达到它,甚至在开发服务器上输入正确的测试卡详细信息 - 但我会找到解决方法)
答案 0 :(得分:2)
如果订单失败,则无法使用,这似乎是明智的。
也许,购物车还没有被清空,在这种情况下你可以获得活跃的总数
$totals = Mage::helper('checkout')->getQuote()->getTotals();
$grand = $totals['grand_total'];