【发布时间】:2011-11-30 20:50:12
【问题描述】:
根据 bens 的评论和回答我更新了我的脚本,cmets 表示更改
{Magento 1.4.0.1} 目前我有一个安装程序脚本:
$installer = $this;
$installer->startSetup();
//commented out to use factory method
//$setup = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
$setup = Mage::getResourceModel('catalog/setup','core_setup');
if(!$setup->getAttribute('catalog_product','attribute_code')){
$newFields = array(
'attribute_code' => array(
'type' => 'text',
'label' => 'Attribute Label',
//added visible option
'visible' => false,
),
);
$entities = array(
'catalog_product',
);
foreach($newFields as $attributeName => $attributeDefs) {
foreach ($entities as $entity) {
$setup->addAttribute($entity, $attributeName, array(
'type' => $attributeDefs['type'],
'label' => $attributeDefs['label'],
//added visible option
'visible' => $attributeDefs['visible'],
'class' => '',
'required' => false,
));
}
}
}
$installer->endSetup();
效果很好!除了在编辑产品时属性显示在常规属性组中并且我根本不希望它显示(它是一个秘密的忍者属性)之外,我做错了什么吗?或者我应该做些什么来让 Magento 不知道它不应该出现?
【问题讨论】:
-
您的代码应该使用工厂方法,即 $setup = Mage::getResourceModel('catalog/setup','default_setup');
-
注意到...现在关于我的问题? .......
标签: magento attributes magento-1.4 product