4

我有一个产品有多个客户可以选择的自定义选项。举些例子:

产品: 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?

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 回答
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());
        }
}
于 2017-01-15T07:22:21.823 回答