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

Wes*_*zz7 2 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());
}
Run Code Online (Sandbox Code Playgroud)

但我想获得我订购的每件商品的送货地址和订单状态.

Ren*_*art 10

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

$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());
}
Run Code Online (Sandbox Code Playgroud)

要通过order_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();

   }
}
Run Code Online (Sandbox Code Playgroud)

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

$session = Mage::getSingleton('checkout/session');
Run Code Online (Sandbox Code Playgroud)