0

在 Magento 1.7.0.2 中获取success.phtml 中的订单数据时有一点问题。我需要将数据插入到跟踪代码中,以便将其发送给附属公司。与往常一样,这一次远远落后于计划。

所需数据: 订单 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 向后兼容,所以我希望有人可以帮我把它拼凑起来。提前致谢。

4

1 回答 1

0

尝试这个

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
echo "<pre>"; print_r($order->getData());

从上面生成的列表中获取所有必要的信息。

出于调试目的,您应该

//comment below line
 $session->clear();
//from successAction of OnepageController

这将阻止您一次又一次地下订单,

于 2013-06-28T07:12:20.527 回答