Guest User

Untitled

a guest
Jan 23rd, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. <?php
  2.  
  3. // vendor/ModuleName/Setup/InstallData.php or
  4. // app/code/vendor/ModuleName/Setup/InstallData.php
  5.  
  6. use MagentoCatalogModelProduct;
  7. use MagentoEavModelEntityAttributeScopedAttributeInterface;
  8. use MagentoEavSetupEavSetupFactory;
  9. use MagentoFrameworkSetupInstallDataInterface;
  10. use MagentoFrameworkSetupModuleContextInterface;
  11. use MagentoFrameworkSetupModuleDataSetupInterface;
  12.  
  13. class InstallData implements InstallDataInterface
  14. {
  15.  
  16. /**
  17. * @var EavSetupFactory
  18. */
  19. private $eavSetupFactory;
  20.  
  21. /**
  22. * InstallData constructor.
  23. */
  24. public function __construct(
  25. EavSetupFactory $eavSetupFactory
  26. )
  27. {
  28. $this->eavSetupFactory = $eavSetupFactory;
  29. }
  30.  
  31. /**
  32. * Installs data for a module
  33. *
  34. * @param ModuleDataSetupInterface $setup
  35. * @param ModuleContextInterface $context
  36. *
  37. * @return void
  38. */
  39. public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
  40. {
  41. $setup->startSetup();
  42.  
  43. /** @var MagentoEavSetupEavSetup $eavSetup */
  44. $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
  45.  
  46. $eavSetup->addAttribute(
  47. Product::ENTITY,
  48. 'mouseover_image',
  49. [
  50. 'type' => 'varchar',
  51. 'label' => 'Mouseover',
  52. 'input' => 'media_image',
  53. 'frontend' => 'MagentoCatalogModelProductAttributeFrontendImage',
  54. 'required' => false,
  55. 'global' => ScopedAttributeInterface::SCOPE_STORE,
  56. 'used_in_product_listing' => true,
  57. ]);
  58. $setup->endSetup();
  59. }
  60. }
Add Comment
Please, Sign In to add comment