0

新しい製品属性を追加したいのですが、次のようなコードを使用しています:

/**
 * @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);

これはうまくいきます。

しかし、この属性を特定の属性セットに追加し、この特定の属性セットにのみ追加したいと考えています。

これはどのように達成できますか?

4

1 に答える 1

1

を知っていると仮定すると$attributeSetId、手順は次のとおりです。

  1. $attributeIdを取得します
  2. 属性セットの属性グループIDを取得します(例:「一般」グループ)
  3. セットとグループに属性を追加します

例えば

        $attributeId = $installer->getAttributeId(
            'catalog_product', 
            'new_attribute'
        );

        $attributeGroupId = $installer->getAttributeGroup(
            'catalog_product',
            $attributeSetId,
            'General'
        );

        $installer->addAttributeToSet(
            'catalog_product',
            $attributeSetId, 
            $attributeGroupId,
            $attributeId 
        );
于 2013-02-11T17:51:22.830 に答える