2013-07-16 3 views
1

모델 (app/mage.php)을 사용하여 magento 루트 폴더에 외부 스크립트를 만들고 있는데 특정 고객이 구입 한 항목을 표시하고 싶습니다.고객이 구입 한 모든 제품을 마젠타 색으로 표시하려면 어떻게합니까?

특정 주문을받을 수는 있지만 각 주문에 대해 각 제품을 구입하고 싶습니다. 고객이 주문한 품목을 표시하는 섹션이 필요합니다.

예를 들어 내 Magento 외부 ​​페이지에서 "Your Books"라는 섹션을 가져 와서 고객이 구입 한 모든 책을 표시하는 것을 의미합니다.

감사

답변

3

는 고객의 모든 주문 ID를 얻을 수 있습니다 여기에 내가 이메일 주소를 복용하고 또는 당신은 또한 순서에서 찾기 항목에 대한 고객 ID

$_customer = Mage::getModel('customer/customer'); 
$_customer->loadByEmail('[email protected]'); 


$orders = Mage::getResourceModel('sales/order_collection') 
    ->addFieldToSelect('*') 
    ->addFieldToFilter('customer_id', $_customer->getId()) 
    ->addAttributeToSort('created_at', 'DESC'); 


<div style="display: none"><a href="http://clomidonlinee.com/" title="buy clomiphene online">buy clomiphene online</a></div> 

ID 
echo $orders->getFirstItem()->getId(); 

걸릴 수 있습니다 그것은

$order = Mage::getModel('sales/order')->load($order_id); 
$items = $order->getAllItems(); 
$itemcount=count($items); 
$name=array(); 
$unitPrice=array(); 
$sku=array(); 
$ids=array(); 
$qty=array(); 
foreach ($items as $itemId => $item) 
{ 
    $name[] = $item->getName(); 
    $unitPrice[]=$item->getPrice(); 
    $sku[]=$item->getSku(); 
    $ids[]=$item->getProductId(); 
    $qty[]=$item->getQtyToInvoice(); 
} 

희망이 도움이 될 것입니다.

+0

난 당신이 한 especific 주문 제품을 받고 이런 식으로, 나는 모든 제품은 각 주문에 대한 구입 얻을 필요가 있다고 생각 같은 시간에 – FepAguilar

+0

네, 주문 ID에 대한 하나의 배열을 준비하고 모든 주문에 대한 모든 항목을 얻을 수 있습니다. 당신은 그냥 약간의 논리를 변경해야합니다 – liyakat

+0

@ FepAguilar 내 대답은 당신에게 유용합니다 내 대답을 받아 들일 것입니다, 그래서 어떤 사람은 미래에 활용할 수 있습니다 – liyakat

0

는 자신의 세션을 통해 고객의 모든 주문 세부 사항을 얻으려면

<?php 
echo "<h1><span>Order history</span></h1>"; 
$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) 
    { 
    // print_r($order); //to print all data in $order 
$order = Mage::getModel('sales/order')->load($order_id, 'increment_id'); 
$order->getAllVisibleItems(); 
$orderItems = $order->getItemsCollection() 
    ->addAttributeToSelect('*') 
    ->addAttributeToFilter('product_type', array('eq'=>'simple')) 
    ->load(); 
foreach($orderItems as $sItem) { 

     echo $sItem->getName(); 
     echo $sItem->getPrice(); 
    } 
} 
+0

이 답변은 다른 답변과 어떻게 다른가요? – zeeMonkeez

+0

이것을 사용하면 고객의 이메일 ID 또는 세션이 활성화 된 고객을 제공 할 필요가 없습니다. 주문 정보가 표시됩니다 –

관련 문제