Magento复制选项

Dal*_*ley 2 php magento

我正在为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)

希望这可以帮助.

纪尧姆