koe*_*nig 2 attributes magento entity-attribute-value
我想为所有产品添加新属性.我用安装脚本槽完成了它
$installer = $this;
$installer->startSetup();
$this->addAttribute('catalog_product','test2',array(
'label' => 'test2',
'type' => 'varchar',
'visible' => true,
'required' => false,
'required' => 0
));
Run Code Online (Sandbox Code Playgroud)
但是如何通过添加此属性的值
$entityTypeId = $installer->getEntityTypeId('catalog_product');
$attributeSetId = $installer->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);
$installer->addAttributeGroup($entityTypeId, 'Default', 'test2', 0);
$installer->endSetup();
Run Code Online (Sandbox Code Playgroud)
Kno*_*ing 10
这是我用来创建自己的自定义产品属性的示例代码之一: -
$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();
Run Code Online (Sandbox Code Playgroud)
这与这两篇文章的参考文献一起使用: -
此外,您会发现我使用数组键" group"来提及属性组名称,这个新的自定义属性将驻留在这里.具有讽刺意味的是,在上面的代码示例中提到此键会自动在此Magento中找到的每个属性集中创建此属性.
因此,您无需调用任何方法(如" addAttributeToSet()")将此属性添加到所有属性集.
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
28836 次 |
| 最近记录: |