如何以编程方式在Magento中设置订单项目的自定义选项
我正在通过编程从引号创建订单,并希望将产品的自定义选项传递给订单。为此,我尝试在我创建的orderItem上设置自定义选项。我正在使用$options=$itemValue->getOptions()成功获取自定义选项数组,但我无法使用任何函数(如setCustomOptions()、setOptions()、setProductOptions()、setItemOptions()等)在订单项上设置选项。我是否缺少任何内容如何以编程方式在Magento中设置订单项目的自定义选项,magento,magento-1.9,Magento,Magento 1.9,我正在通过编程从引号创建订单,并希望将产品的自定义选项传递给订单。为此,我尝试在我创建的orderItem上设置自定义选项。我正在使用$options=$itemValue->getOptions()成功获取自定义选项数组,但我无法使用任何函数(如setCustomOptions()、setOptions()、setProductOptions()、setItemOptions()等)在订单项上设置选项。我是否缺少任何内容 foreach ($itemsData as $itemIds =>
foreach ($itemsData as $itemIds => $itemValue) {
$products[$itemValue->getProductId()] = array('qty' => $itemValue->getQty());
$rowTotal = $itemValue->getPrice() * $itemValue->getQty();
$options = $itemValue->getOptions();
$orderItem = Mage::getModel('sales/order_item')
->setStoreId($storeId)
->setQuoteItemId(0)
->setQuoteParentItemId(NULL)
->setProductId($itemValue->getProductId())
->setProductType($itemValue->getTypeId())
->setQtyBackordered(NULL)
->setTotalQtyOrdered($itemValue->getRqty())
->setQtyOrdered($itemValue->getQty())
->setName($itemValue->getName())
->setSku($itemValue->getSku())
->setPrice($itemValue->getPrice())
->setBasePrice($itemValue->getPrice())
->setOriginalPrice($itemValue->getPrice())
->setRowTotal($rowTotal)
->setBaseRowTotal($rowTotal)->setItemOptions($options);
$subTotal += $rowTotal;
$order->addItem($orderItem);
}
我只是通过以下方式从报价项中获取自定义选项
$helper = Mage::helper('catalog/product_configuration');
$options['additional_options'] = $helper->getCustomOptions($itemValue);
然后使用setProductOptions($options)在订单项上设置它
干杯
$orderItem = Mage::getModel('sales/order_item')
->setStoreId($storeId)
->setQuoteItemId(0)
->setQuoteParentItemId(NULL)
->setProductId($itemValue->getProductId())
->setProductType($itemValue->getTypeId())
->setQtyBackordered(NULL)
->setTotalQtyOrdered($itemValue->getRqty())
->setQtyOrdered($itemValue->getQty())
->setName($itemValue->getName())
->setSku($itemValue->getSku())
->setPrice($itemValue->getPrice())
->setBasePrice($itemValue->getPrice())
->setOriginalPrice($itemValue->getPrice())
->setRowTotal($rowTotal) ->setBaseRowTotal($rowTotal)->setProductOptions($options);