noob在这里。 我试图在我的自定义产品(customproduct)中添加一些属性,但它们最终也适用于所有产品。
我想获得一个属性的组/标签(自定义设置),仅显示在我的自定义产品(customproduct)的“常规”选项卡下。 谁可以指导我正确的方式?
我的代码如下所示:(mysql4-install-0.1.0.php)
$installer = $this;
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();
$setup->addAttribute('catalog_product', 'PartnerID', array(
'group' => 'Custom Settings',
'input' => 'text',
'type' => 'text',
'label' => 'Partner ID',
'backend' => '',
'visible' => 1,
'required' => 0,
'user_defined' => 1,
'searchable' => 0,
'filterable' => 0,
'comparable' => 0,
'visible_on_front' => 0,
'visible_in_advanced_search' => 0,
'is_html_allowed_on_front' => 0,
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'apply_to' => 'customproduct',
));
答案 0 :(得分:2)
回答我自己的问题,答案如下: 我需要将属性添加到以下数组并重新运行installscript。 (另外,我的新产品类型customproduct的配置出错了)
$fieldList = array(
'PartnerId'
...
);
// make these attributes applicable to customproduct
foreach ($fieldList as $field) {
$applyTo = split(',', $installer->getAttribute('catalog_product', $field, 'apply_to'));
if (!in_array('customproduct', $applyTo)) {
$applyTo[] = 'customproduct';
$installer->updateAttribute('catalog_product', $field, 'apply_to', join(',', $applyTo));
}
}
现在新属性仅适用于customproduct。