如何在Magento中以编程方式获取为项目订单选择的自定义选项的SKU
我有一个产品,客户可以选择多个自定义选项。例如: 产品:10朵花篮(SKU 100) 自定义选项:如何在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
- 红玫瑰数量:下拉0到10(每个带有SKU 200)
- 紫色玫瑰数量:下拉0到10(每个带有SKU 300)
- 粉色郁金香数量:下拉0到10(每个SKU 400)
$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是否为空?你能告诉我为什么吗?