magento programmatically add more custom options -
i programmatically create product more 1 custom option. current code bellow last option saved. can help?
$options = array( array( 'is_delete' => 0, 'title' => 'first line', 'type' => 'text', 'is_require' => 0, 'sort_order' => 1, ), array( 'is_delete' => 0, 'title' => 'second line', 'type' => 'text', 'is_require' => 0, 'sort_order' => 2, ) ); $product = mage::getmodel('catalog/product')->load($id); $optioninstance = $product->getoptioninstance(); foreach($options $option){ $product->sethasoptions(1); if (isset($option['is_require']) && ($option['is_require'] == 1)) { $product->setrequiredoptions(1); } $optioninstance->addoption($option); $optioninstance->setproduct($product); $product->save(); }
ok solution below:
$options = array( array( 'title' => 'first line', 'type' => 'field', 'is_require' => 0, 'sort_order' => 1, ), array( 'title' => 'second line', 'type' => 'field', 'is_require' => 0, 'sort_order' => 2, ) ); $product = mage::getmodel('catalog/product')->load($id); $product->sethasoptions(true)->save(); foreach($options $option_data){ $option = mage::getmodel('catalog/product_option') ->setproductid($product->getid()) ->setstoreid($product->getstoreid()) ->adddata($option_data); $value = mage::getmodel('catalog/product_option_value'); $value->setoption($option); $option->addvalue($value); $option->save(); $product->addoption($option); $product->save(); }
Comments
Post a Comment