在success.phtml中获取订单数据以加载Magento 1.7.0.2时出现轻微问题。我需要将数据插入跟踪代码中,以便将其发送给联盟会员。一如既往,落后于此计划。
需要的数据: 订单ID: 客户ID :(如果已登录) 订单金额:(小计 - 折扣,如果有的话) 订购的商品数量: 订单金额货币: 客户姓名:
感谢网上提供的大量帮助,我想出了以下内容:
<?php $total=0;
$order = Mage::getModel('sales/order')->load($this->getOrderId());
$customer = Mage::getModel('customer/customer')->load($order->getCustomerId());
$items = $order->getAllItems();
$amount = number_format($order->getSubtotal() + $order->getDiscountAmount(),2);
$custname = $order->getCustomerName();
foreach($items as $item){
$qty = $item->getQtyOrdered();
$total = $total + $qty;
}
?>
<img src='https://www.tagserve.asia/saleServlet?MID=XX&PID=XX&CRID=<?php echo $customer; ?>&ORDERID=<?php echo $this->getOrderId(); ?>&ORDERAMNT=<?php echo $amount; ?>&NUMOFITEMS=<?php echo $total; ?>&CUR=<?php echo $order->getOrderCurrencyCode(); ?>&SUBID=<?php echo $custname; ?>' border='0' width='1' height='1'>
似乎orderid是没有道理的,但$ amount只显示为0.00,货币代码不存在,通过大量的反复试验,订单中的商品数量仍然是我的。
这需要与1.4向后兼容所以我希望有人可以帮我把它拼凑起来。 提前谢谢。
答案 0 :(得分:0)
试试这个
$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
echo "<pre>"; print_r($order->getData());
从上面生成的列表中获取所有必要的信息。
用于调试目的,你应该
//comment below line
$session->clear();
//from successAction of OnepageController
这会阻止您一次又一次地下订单,