Это один из примеров кода, который я использовал для создания своего собственного атрибута продукта: -
$installer = $this;
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer->startSetup();
$attrCode = 'test2';
$attrGroupName = 'Test Group';
$attrLabel = 'Test 2';
$attrNote = 'Test Note';
$objCatalogEavSetup = Mage::getResourceModel('catalog/eav_mysql4_setup', 'core_setup');
$attrIdTest = $objCatalogEavSetup->getAttributeId(Mage_Catalog_Model_Product::ENTITY, $attrCode);
if ($attrIdTest === false) {
$objCatalogEavSetup->addAttribute(Mage_Catalog_Model_Product::ENTITY, $attrCode, array(
'group' => $attrGroupName,
'sort_order' => 7,
'type' => 'varchar',
'backend' => '',
'frontend' => '',
'label' => $attrLabel,
'note' => $attrNote,
'input' => 'text',
'class' => '',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => '0',
'visible_on_front' => false,
'unique' => false,
'is_configurable' => false,
'used_for_promo_rules' => true
));
}
$installer->endSetup();
Это используется со ссылками на эти две статьи: -
Кроме того, вы обнаружите, что я использовал ключ массива "group
", чтобы упомянуть имя группы атрибутов, где будет находиться этот новый пользовательский атрибут.Ирония заключается в том, что упоминание этого ключа в приведенном выше примере кода автоматически создает этот атрибут в каждом наборе атрибутов, найденном в этом Magento.
Таким образом, вам не нужно вызывать какой-либо метод (например, "addAttributeToSet()
"), чтобы добавить этот атрибут ко всем наборам атрибутов.
Надеюсь, это поможет.