Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取Magento中的发货地址和订单状态?_Magento - Fatal编程技术网

如何获取Magento中的发货地址和订单状态?

如何获取Magento中的发货地址和订单状态?,magento,Magento,我有以下代码: $session = Mage::getSingleton('checkout/session'); foreach ($session->getQuote()->getAllItems() as $item) { echo $item->getName(); echo $item->getId(); echo Mage::helper('core')->formatPrice($item->getPrice());

我有以下代码:

$session = Mage::getSingleton('checkout/session');

foreach ($session->getQuote()->getAllItems() as $item) {
    echo $item->getName();
    echo $item->getId();
    echo Mage::helper('core')->formatPrice($item->getPrice());
}

但我想获取我订购的每件商品的发货地址和订单状态。

获取当前登录客户的所有订单

$customerId = Mage::getSingleton('customer/session')->getCustomer()->getId();

$_orders = Mage::getModel("sales/order")->getCollection()
                   ->addAttributeToSelect('*')
                   ->addFieldToFilter('customer_id', $customerId);
                   /* to get last order only -- uncomment
                   ->setOrder('created_at', Varien_Data_Collection_Db::SORT_ORDER_DESC)
                   ->setPageSize(1);
                   */


foreach($_orders as $order) {
    foreach($order->getAllItems() as $item){
        echo $item->getName();
        echo $item->getId();
        echo Mage::helper('core')->formatPrice($item->getPrice());
    }

  //display status
  echo $order->getStatusLabel();
  //display shipping address
  print_r($order->getShippingAddress()->getData());
}
按订单id获取特定订单的订单信息,然后

$order_id = 123; // put your order id here
$_order = Mage::getModel('sales/order')->load($order_id);

if(!$_order->getID()){
    echo 'Order not found.';
}
else{

   //display shipping address
   print_r($_order->getShippingAddress()->getData());

   foreach($_order->getAllItems() as $order) {
     echo $order->getName();
     echo $order->getId();
     echo Mage::helper('core')->formatPrice($order->getPrice());
     echo $order->getStatusLabel();

   }
}
此代码获取客户购物车(因此这是在您下订单之前)


按订单id获取装运详细信息

$order_id = 2314; //use your own order id

$order = Mage::getModel("sales/order")->load($order_id); //load order by order id

$shipping_address = $order->getShippingAddress();

echo $shipping_address->getTelephone();

echo $shipping_address->getPostcode(); //use print_r($shipping_address->getData()); to get all the available elements of the object

嗯,有人对你的答案投了反对票,但没有提到原因。。啊,我尝试了你的代码,但是我得到了一个致命错误:致命错误:在C:\Development\fabriqmagento\app\design\frontend\default\fabriq\template\customer\account\dashboard.phtml中对非对象调用成员函数getData(),再次检查整个代码(我进行了一些更新)。另外,您是否输入了有效的$order_id如果您在帐户仪表板上,那么您必须使用客户id获取订单id。。。看看
$order_id = 2314; //use your own order id

$order = Mage::getModel("sales/order")->load($order_id); //load order by order id

$shipping_address = $order->getShippingAddress();

echo $shipping_address->getTelephone();

echo $shipping_address->getPostcode(); //use print_r($shipping_address->getData()); to get all the available elements of the object