2013-01-08 35 views
4

我有一個產品,客戶可以選擇多個自定義選項。對於實施例:如何在Magento中以編程方式獲得爲項目訂單選擇的自定義選項的SKU

產物:10個鮮花籃(SKU 100) 定製選項:

  • 紅玫瑰數量:0下拉至10(每個SKU 200)

  • 紫玫瑰數量:0下拉至10(每個SKU 300)

  • 粉紅色的鬱金香數量:0下拉至10(每個SKU 400)

這樣客戶可以建立自己的籃子。但是,現在我必須導出倉庫系統的訂單,並且需要列出具有值(數量)的自定義選項的SKU。雖然我可以從Order Item中獲得標籤和值。沒有SKU。

我收到我的項目,像這樣:

$orders = Mage::getModel('sales/order')->getCollection() 
       ->addAttributeToFilter('status', array('eq' => 'processing')); 
foreach ($orders as $order) { 

    foreach ($order->getAllItems() as $order_item) { 

     $optionsArr = $order_item->getProductOptions(); 

     if (count($optionsArr['options']) > 0) { 
      foreach ($optionsArr['options'] as $option) { 
       $optionTitle = $option['label']; 
       $optionId = $option['option_id']; 
       $optionValue = $option['value']; 
       // no SKU ?!?! 
      } 
     } 

    } 

} 

任何想法如何獲得SKU爲每個自定義選項選擇?

+0

您得到了id,因此您可以隨時從目錄產品選項模型l中加載它。這將爲您提供所有選項屬性 –

回答

4

嘗試加載產品並獲取選項集合。

foreach($order->getAllItems() as $item) { 
    $product = Mage::getModel('catalog/product')->load($item->getProductId()); 
    $options = $product->getProductOptionsCollection(); 
    foreach($options as $option) { 
     echo $option->getSku(); 
    } 
} 
+0

在我的情況下,我在選項SKU上變爲空?你能告訴我爲什麼嗎? – aton1004

0

你可以請嘗試這種方式。

foreach($order->getAllItems() as $_item) { 
$customOptions = $_item->getProductOptions(); 

     foreach ($customOptions['options'] as $_eachOption) { 
      $objModel = Mage::getModel('catalog/product_option_value')->load($_eachOption['option_value']); 
      print_r($objModel->getData()); 
     } 
} 
相關問題