我正在尝试在 Magento 管理员中创建或编辑产品的过程中预先完成自定义选项:在产品类型选择之后。
我在 Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs _prepareLayout 函数上添加了一个事件触发器。所以基本上当您打开产品的版本或创建时,就会触发该事件。
我的目标是:当您开始编辑新产品时,“自定义选项”选项卡中已经存在 3 个自定义选项。
我无法使用 catalog_product_save_before 事件触发它,因为一个选项是下拉类型并且必须由管理员填写。
所以我编写了我的观察者并成功地使用 setName() 函数修改了产品名称,但我找不到如何预完成/添加自定义选项。
我尝试使用以下博客的代码:http: //kamal250.wordpress.com/2012/10/22/create-custom-option-programatically-while-creating-product/#comments
但这似乎不起作用。
任何人都可以帮助我吗?
这是我在观察者中的代码:
$option_data = array(
'is_delete' => 0,
'is_require' => true,
'previous_group' => '',
'title' => 'Height',
'type' => 'field',
'price_type' => 'fixed',
'price' => '0',
'sort_order' => 1,
'values' => array()
);
$product->setHasOptions(1);
$product->setCanSaveCustomOptions(1);
$product->setOptions(array($option_data));
$product->setProductOptions(array($option_data));
$opt = Mage::getSingleton('catalog/product_option');
$opt->setProduct($product);
$opt->addOption($option_data);
$opt->saveOptions();
$product->setOption($opt);