如何在Magento中以编程方式获取为项目订单选择的自定义选项的SKU

如何在Magento中以编程方式获取为项目订单选择的自定义选项的SKU,magento,magento-1.7,Magento,Magento 1.7,我有一个产品,客户可以选择多个自定义选项。例如: 产品:10朵花篮(SKU 100) 自定义选项: 红玫瑰数量:下拉0到10(每个带有SKU 200) 紫色玫瑰数量:下拉0到10(每个带有SKU 300) 粉色郁金香数量:下拉0到10(每个SKU 400) 这样,客户可以构建自己的购物篮。但是,现在我必须导出仓库系统的订单,我需要列出自定义选项的SKU值(数量)。而我可以从订单项中获取标签和值。没有SKU 我收到的物品如下: $orders = Mage::getModel('sales/o

我有一个产品,客户可以选择多个自定义选项。例如:

产品:10朵花篮(SKU 100) 自定义选项:

  • 红玫瑰数量:下拉0到10(每个带有SKU 200)

  • 紫色玫瑰数量:下拉0到10(每个带有SKU 300)

  • 粉色郁金香数量:下拉0到10(每个SKU 400)

这样,客户可以构建自己的购物篮。但是,现在我必须导出仓库系统的订单,我需要列出自定义选项的SKU值(数量)。而我可以从订单项中获取标签和值。没有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吗?

尝试加载产品并获取选项集合

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

你能试试这条路吗

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());
        }
}

您获得了id,因此可以始终从目录产品选项模型l加载它。这将为您提供所有选项属性在我的情况下,我的选项sku是否为空?你能告诉我为什么吗?