It is a Boolean function that you can on or off. The steps describes you how to add EAV attribute for product in magento 2
Examples of Upgrade Data.php file listed:
- Declare EAV setup factory
- Add EAV attribute
- Remove 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 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' => '' ] );
The following code description:
- Is_featured: attribute code
- Group: name for attribute that will display on backend
- Type: data type which will save in database
- Globar: scale of attribute(store,website,global)
- Visible_on_frontend: it allows the attribute to displayed on frontend or no
- Apply to:product type that you want to add attribute
Remove attribute to the product
The following code to remove attribute to the product:
$entityTypeId = 4; // Find these in the eav_entity_type table
$eavSetup->removeAttribute($entityTypeId, ‘is_featured’);
The above mentioned steps help you to add EAV attribute to the product in magento 2
Leave a Reply