how to add EAV attribute for product in Magento 2

This function belongs to Boolean expression that you can on or off. The following steps explains you how to add EAV attribute for product in Magento 2.

The Given below are the examples of Upgrade Data.php file:

  1. Declare EAV setup factory
  2. Add an EAV attribute
  3. Remove an EAV attribute for product

Declare EAV setup factory

  /**

     * @var EavSetupFactory

     */

    protected $eavSetupFactory;

    /**

     * UpgradeData constructor

     *

     * @param EavSetupFactory $eavSetupFactory

     */

    public function __construct(EavSetupFactory $eavSetupFactory)

    {

        $this->eavSetupFactory = $eavSetupFactory;

    }

Add EAV attribute

To add EAV attribute for product by using the following code:

/** @var EavSetup $eavSetup */

            $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);

            /**

            * Add attributes to the eav/attribute

            */

            $eavSetup->addAttribute(

                \Magento\Catalog\Model\Product::ENTITY,

                'is_featured',

                [

                    'group' => 'General',

                    'type' => 'int',

                    'backend' => '',

                    'frontend' => '',

                    'label' => 'Is Featured',

                    'input' => 'boolean',

                    'class' => '',

                    'source' => 'Magento\Eav\Model\Entity\Attribute\Source\Boolean',

                    'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL,

                    'visible' => true,

                    'required' => false,

                    'user_defined' => false,

                    'default' => '1',

                    'searchable' => false,

                    'filterable' => false,

                    'comparable' => false,

                    'visible_on_front' => false,

                    'used_in_product_listing' => false,

                    'unique' => false,

                    'apply_to' => ''

                ]

            );

Here are the following code description:

  • Is_featured: Attribute code
  • Group: It is the attribute name which will show on backend
  • Type: Data type which will store in database
  • Globar: Scale of attribute(store,website,global)
  • Visible_on_frontend: it permits the attribute to show on frontend or no
  • Apply to: Product type that you need to include attribute

Remove attribute to the product

The following code are used to eliminate attribute to the product:

$entityTypeId = 4; // Find these in the eav_entity_type table

            $eavSetup->removeAttribute($entityTypeId, 'is_featured');

I hope, this above mentioned steps assist you to add EAV attribute to the product in Magento 2.

Last Update: February 21, 2019  

February 6, 2018   323   Nandini R    Products    
Total 1 Votes:
0

Tell us how can we improve this post?

+ = Verify Human or Spambot ?

Leave a Reply

Your email address will not be published. Required fields are marked *

Facebook
Twitter
INSTAGRAM
LinkedIn