Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento,在管理中创建/编辑产品时预完成自定义选项_Magento_Admin_Product_Options_Catalog - Fatal编程技术网

Magento,在管理中创建/编辑产品时预完成自定义选项

Magento,在管理中创建/编辑产品时预完成自定义选项,magento,admin,product,options,catalog,Magento,Admin,Product,Options,Catalog,我试图在Magento admin:after product type choice中创建或编辑产品的过程中预完成自定义选项 我在Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs_prepareLayout函数中添加了一个事件触发器。因此,基本上,当您打开产品的版本或创建时,会触发事件 我的目标是:当您开始编辑新产品时,“自定义选项”选项卡中已有3个自定义选项 我不能用catalog_product_save_before事件触发它,因为有一个选项是

我试图在Magento admin:after product type choice中创建或编辑产品的过程中预完成自定义选项

我在Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs_prepareLayout函数中添加了一个事件触发器。因此,基本上,当您打开产品的版本或创建时,会触发事件

我的目标是:当您开始编辑新产品时,“自定义选项”选项卡中已有3个自定义选项

我不能用catalog_product_save_before事件触发它,因为有一个选项是下拉式的,必须由管理员填写

因此,我编写了observer,并成功地使用setName()函数修改了产品名称,但我找不到如何预完成/添加自定义选项

我尝试使用以下博客的代码:

但它似乎不起作用

有人能帮我吗

以下是我在observer中的代码:

        $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);
 $product = $observer->getProduct();

    $option_data = array(
        'is_delete'         => 0,
        'is_require'        => true,
        'previous_group'    => '',
        'title'             => 'Height',
        'type'              => 'field',
        'price_type'        => 'fixed',
        'price'             => '0',
        'sort_order'        => 1
    );

    $product->setHasOptions(1);
    $option = Mage::getModel('catalog/product_option')->setProductId($product->getId())->setStoreId($product->getStoreId())->addData($option_data);
    $option->save();
    $product->addOption($option); 

我终于找到了解决办法: 我将触发器修改为打开“自定义选项”选项卡的操作

以下是我在《观察家》中的代码:

        $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);
 $product = $observer->getProduct();

    $option_data = array(
        'is_delete'         => 0,
        'is_require'        => true,
        'previous_group'    => '',
        'title'             => 'Height',
        'type'              => 'field',
        'price_type'        => 'fixed',
        'price'             => '0',
        'sort_order'        => 1
    );

    $product->setHasOptions(1);
    $option = Mage::getModel('catalog/product_option')->setProductId($product->getId())->setStoreId($product->getStoreId())->addData($option_data);
    $option->save();
    $product->addOption($option); 
希望它迟早会帮助别人


再见。

更多信息:经过几次测试后,我成功地在已经至少有一个自定义选项的产品上添加了自定义选项。在没有存储自定义选项的已编辑产品和新产品上,我仍然无法成功添加自定义选项。对此有何线索?谢谢。