В соответствии с комментариями и ответами Bens я обновил свой сценарий, комментарии указывают на изменения
{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();
Прекрасно работает! За исключением того, что атрибут отображается в группе атрибутов General при редактировании продукта, и я не хочу, чтобы он вообще отображался (это секретный атрибут ниндзя), я что-то не так делаю? или что-то, что я должен сделать, чтобы Magento знал, что это не должно появляться?