我正在为magento产品生成自定义选项,具体如下:
$options = array();
$options = array(
'title' => 'Select Options',
'type' => 'radio',
'is_require' => 1,
'sort_order' => 0,
'values' => array()
);
$options['values'][] = array(
'title' => $customAttributeString,
'price' => 0.00,
'price_type' => 'fixed',
'sku' => $uniqueId,
'sort_order' => '1'
);
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
$product = Mage::getModel('catalog/product')->load($id);
if(!$product->getOptionsReadonly()) {
$product->setProductOptions(array($options));
$product->setCanSaveCustomOptions(true);
$product->save();
}
Run Code Online (Sandbox Code Playgroud)
我有一个循环运行,每次都有一个不同的SKU,当我运行我的循环一次时,它为第一个产品生成自定义选项就好了,第二个产品有自己的自定义选项,第一个产品自定义选项,以及第三个产品有三个等的自定义选项..任何人都可以给我一些有关为什么会发生这种情况的见解?
小智 15
对于迟到的响应感到抱歉,但由于Magento将product_option作为Singleton进行管理,您需要在每次迭代时重置它:
Mage::getSingleton('catalog/product_option')->unsetOptions();
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
纪尧姆