59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
| <?php
 | |
| 
 | |
| namespace Kai\Banner\Setup;
 | |
| 
 | |
| use Magento\Catalog\Model\Product;
 | |
| use Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface;
 | |
| use Magento\Framework\Setup\ModuleContextInterface;
 | |
| use Magento\Framework\Setup\ModuleDataSetupInterface;
 | |
| use Magento\Framework\Setup\UpgradeDataInterface;
 | |
| 
 | |
| class UpgradeData implements UpgradeDataInterface
 | |
| {
 | |
|     protected $_eavSetupFactory;
 | |
|     protected $_attributeRepositoryInterface;
 | |
|     protected $_attributeSetupFactory;
 | |
| 
 | |
|     public function __construct(
 | |
|         \Magento\Eav\Setup\EavSetupFactory $eavSetupFactory,
 | |
|         \Magento\Eav\Api\AttributeRepositoryInterface $attributeRepositoryInterface,
 | |
|         \Magento\Catalog\Setup\CategorySetupFactory $attributeSetupFactory
 | |
|     ) {
 | |
|         $this->_eavSetupFactory = $eavSetupFactory;
 | |
|         $this->_attributeRepositoryInterface = $attributeRepositoryInterface;
 | |
|         $this->_attributeSetupFactory = $attributeSetupFactory;
 | |
|     }
 | |
| 
 | |
|     public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
 | |
|     {
 | |
|         try {
 | |
|             $this->_attributeRepositoryInterface->get(Product::ENTITY, 'kai_banner');
 | |
|         } catch (\Exception $ex) {
 | |
| 
 | |
|             $setup->startSetup();
 | |
|             $eavSetup = $this->_eavSetupFactory->create(['setup' => $setup]);
 | |
|             $eavSetup->addAttribute(
 | |
|                 Product::ENTITY,
 | |
|                 'kai_banner',
 | |
|                 [
 | |
|                     'input' => 'select',
 | |
|                     'type' => 'varchar',
 | |
|                     'label' => 'Banner',
 | |
|                     'required' => false,
 | |
|                     'visible' => true,
 | |
|                     'user_defined' => true,
 | |
|                     'searchable' => false,
 | |
|                     'filterable' => false,
 | |
|                     'comparable' => false,
 | |
|                     'used_in_product_listing' => true,
 | |
|                     'apply_to' => '',
 | |
|                     'source' => \Kai\Banner\Model\KaiBannerValues::class,
 | |
|                     'global' => ScopedAttributeInterface::SCOPE_GLOBAL,
 | |
|                     'group' => 'General',
 | |
|                 ]
 | |
|             );
 | |
|             $setup->endSetup();
 | |
|         }
 | |
|     }
 | |
| }
 |