我在magento admin的编辑产品中创建了自定义标签“Customizer Settings”,我想在此标签中添加隐藏属性。我试过下面的代码。
Config.XML 文件
<events>
<catalog_product_save_after>
<observers>
<productcustomizer_save_product_data>
<type>singleton</type>
<class>ProductCustomizer_ProductCustomizer_Model_Observer</class>
<method>saveProductTabData</method>
</productcustomizer_save_product_data>
</observers>
</catalog_product_save_after>
</events>
和
<adminhtml_catalog_product_edit>
<reference name="product_tabs">
<action method="addTab" >
<name>productcustomizer_settings</name>
<block>productcustomizer/adminhtml_catalog_product_edit_tab</block>
</action>
</reference>
</adminhtml_catalog_product_edit>
sql / productcustomizer_setup / install-1.0.0.php 文件
$setup->addAttribute('catalog_product', 'productcustomizer', array(
'entity_model' => 'catalog/product',
'label' => 'custom',
'group' => 'productcustomizer_settings',
'input' => 'text',
'type' => 'text',
'is_html_allowed_on_front' => false,
'backend' => 'catalog/product_attribute_backend_price',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => false,
'apply_to' => Mage_Catalog_Model_Product_Type::TYPE_SIMPLE,
'required' => false,
'user_defined' => true,
'unique' => false,
'visible_on_front' => false,
#'note' => ''
));
在产品编辑中创建了新标签“productcustomizer_settings”。
此外,我在清除缓存和重新索引后检查了。
答案 0 :(得分:0)
为标签块指定自定义模板并输出隐藏标签。
在'productcustomizer / adminhtml_catalog_product_edit_tab'块的构造方法中运行:
/**
* Set the template for the block
*
*/
public function _construct()
{
parent::_construct();
$this->setTemplate('productcustomizer/catalog/product/tab.phtml');
}
然后,在模板文件(productcustomizer / catalog / product / tab.phtml)中输出:
<input type="hidden" name="attribute_name" value="attribute_value" />
然后,您必须使用观察者在产品保存时适当地保存此attribute_value。此外,如果您只想要不可编辑的属性,则可以使用标准属性组功能。