4

顧客が選択できる複数のカスタムオプションを備えた製品があります。たとえば:

製品:10個の花のフラワーバスケット(SKU 100)カスタムオプション:

  • 赤いバラの数量:0から10でドロップダウンします(それぞれSKU 200)

  • パープルローズ数量:0から10でドロップダウン(それぞれSKU 300)

  • ピンクのチューリップの数量:0から10でドロップダウン(それぞれSKU 400)

このようにして、顧客は自分のバスケットを作成できます。ただし、倉庫システムの注文をエクスポートする必要があり、カスタムオプションのSKUをvalue(qty)でリストする必要があります。注文アイテムからラベルと値を取得できますが。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を取得する方法はありますか?

4

2 に答える 2

4

製品を読み込んで、オプション コレクションを取得してみてください。

foreach($order->getAllItems() as $item) {
    $product = Mage::getModel('catalog/product')->load($item->getProductId());
    $options = $product->getProductOptionsCollection();
    foreach($options as $option) {
        echo $option->getSku();
    }
}
于 2013-03-01T16:22:43.223 に答える