Php Magento-添加新目录\u产品属性

Php Magento-添加新目录\u产品属性,php,magento,magento-1.5,Php,Magento,Magento 1.5,我想添加一个新的产品属性,并使用类似以下代码: /** * @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup */ $installer = $this; $attribute = array( 'label' => 'New Attribute', 'required' => false, 'type' =>

我想添加一个新的产品属性,并使用类似以下代码:

/**
 * @var $installer Mage_Catalog_Model_Resource_Eav_Mysql4_Setup
 */
$installer = $this;

$attribute = array(
    'label'             => 'New Attribute',
    'required'          => false,
    'type'              => 'varchar',
    'input'             => 'text'
);
$installer->addAttribute('catalog_product', 'new_attribute', $attribute);
这很好用

但是,我想把这个属性添加到一个特定的属性集中,并且只添加到这个特定的属性集中


如何实现这一点?

假设您知道
$attributestid
,步骤如下:

  • 获取$attributeId
  • 获取属性集的属性组Id (如“一般”组)
  • 将属性添加到集合和组中
  • 比如说

            $attributeId = $installer->getAttributeId(
                'catalog_product', 
                'new_attribute'
            );
    
            $attributeGroupId = $installer->getAttributeGroup(
                'catalog_product',
                $attributeSetId,
                'General'
            );
    
            $installer->addAttributeToSet(
                'catalog_product',
                $attributeSetId, 
                $attributeGroupId,
                $attributeId 
            );
    

    在这种情况下,对于传递给addAttribute方法调用的某些配置值,没有办法做到这一点?不是特定的,没有。如果在属性数据数组中提供组id,或者将属性
    user\u defined
    保留为空,则该属性将自动添加到属于其实体类型的每个集合中。看这里