3

顧客が注文した注文番号 (名前) のリストを取得する作業を行っています。使ってみました

Mage::getModel('sales/order')->load($order_id);

しかし、私にはうまくいきませんでしたか?実際、私はヘルプ デスク モジュールに取り組んでおり、注文をチケットに割り当てようとしています。

4

4 に答える 4

12

あなたのヒントをありがとう、私はこれを使ってこれを得ました

require_once 'app/Mage.php'; 
      Mage::app();       

      $orders = Mage::getResourceModel('sales/order_collection')
        ->addFieldToSelect('*')
        ->addFieldToFilter('customer_id', Mage::getSingleton('customer/session')->getCustomer()->getId())
        ->addFieldToFilter('state', array('in' => Mage::getSingleton('sales/order_config')->getVisibleOnFrontStates()))
        ->setOrder('created_at', 'desc')
    ;   

     $this->setOrders($orders); 

     foreach ($orders as $order):

    echo $order->getRealOrderId().' at '.$this->formatDate($order->getCreatedAtStoreDate()).' ('.$order->formatPrice($order->getGrandTotal()).')';

    endforeach;
于 2012-08-29T06:44:28.330 に答える
3

あなたはこれを試すことができます:

$yourCustomerId = '123123';
$field          = 'customer_id';
$collection     = Mage::getModel("sales/order")->getCollection()
                   ->addAttributeToSelect('*')
                   ->addFieldToFilter($field, $yourCustomerId);
echo "<pre>";
print_r($collection);
echo "</pre>";

// if the customer is logged in you can add this
if(!Mage::getSingleton('customer/session')->isLoggedIn()){
    $yourCustomerId = Mage::getSingleton('customer/session')->getCustomer()->getId();
    $field          = 'customer_id';
    $collection     = Mage::getModel("sales/order")->getCollection()
                       ->addAttributeToSelect('*')
                       ->addFieldToFilter($field, $yourCustomerId);
    echo "<pre>";
    print_r($collection);
    echo "</pre>";
}
于 2012-08-28T14:51:21.240 に答える
3

これも試すことができます、

$customer = Mage::getSingleton('customer/session')->getCustomer();
$email = $customer->getEmail();     

これで、$email 変数に顧客の電子メール アドレスが含まれるようになりました。したがって、次のようにこのメール アドレスを使用して簡単に注文を受け取ることができます。

 $orderCollection = Mage::getModel(‘sales/order’)->getCollection();
 $orderCollection->addFieldToFilter(‘customer_email’, $email);

foreach ($orderCollection as $_order)
{
    echo $_order->getRealOrderId() ;
    echo $this->formatDate($_order->getCreatedAtStoreDate()) ;
    echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) ;
    echo $_order->formatPrice($_order->getGrandTotal());
    echo $_order->getStatusLabel();
 }
于 2014-01-02T12:42:25.367 に答える
1

$orders = Mage::getModel('sales/order')->getCollection();

$orders->getSelect()->where('e.customer_id ='.$customer_id);

于 2012-08-28T14:40:36.383 に答える