2

私はこのコードを持っています:

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

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

しかし、注文した各商品の配送先住所と注文ステータスを取得したい。

4

2 に答える 2

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());
}

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();

   }
}

このコードは顧客カートを取得します(つまり、これは注文する前です)

$session = Mage::getSingleton('checkout/session');
于 2012-10-08T12:41:28.487 に答える
1

注文 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
于 2015-03-26T11:34:59.803 に答える