10 use Magento\Eav\Setup\EavSetupFactory;
25 private $moduleDataSetup;
30 private $eavSetupFactory;
39 EavSetupFactory $eavSetupFactory
41 $this->moduleDataSetup = $moduleDataSetup;
49 public function apply()
52 $eavSetup = $this->eavSetupFactory->create([
'setup' => $this->moduleDataSetup]);
57 \
Magento\Catalog\Model\Product::ENTITY,
58 'links_purchased_separately',
63 'label' =>
'Links can be purchased separately',
67 'global' => \
Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL,
70 'user_defined' =>
false,
72 'searchable' =>
false,
73 'filterable' =>
false,
74 'comparable' =>
false,
75 'visible_on_front' =>
false,
77 'apply_to' =>
'downloadable',
78 'used_in_product_listing' =>
true 83 \
Magento\Catalog\Model\Product::ENTITY,
89 'label' =>
'Samples title',
93 'global' => \
Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
96 'user_defined' =>
false,
98 'searchable' =>
false,
99 'filterable' =>
false,
100 'comparable' =>
false,
101 'visible_on_front' =>
false,
103 'apply_to' =>
'downloadable' 107 \
Magento\Catalog\Model\Product::ENTITY,
113 'label' =>
'Links title',
117 'global' => \
Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
120 'user_defined' =>
false,
122 'searchable' =>
false,
123 'filterable' =>
false,
124 'comparable' =>
false,
125 'visible_on_front' =>
false,
127 'apply_to' =>
'downloadable' 131 \
Magento\Catalog\Model\Product::ENTITY,
144 'user_defined' =>
false,
146 'searchable' =>
false,
147 'filterable' =>
false,
148 'comparable' =>
false,
149 'visible_on_front' =>
false,
151 'apply_to' =>
'downloadable',
152 'used_in_product_listing' => 1
166 foreach ($fieldList as $field) {
169 $eavSetup->getAttribute(\
Magento\Catalog\Model\Product::ENTITY, $field,
'apply_to')
171 if (!in_array(
'downloadable', $applyTo)) {
172 $applyTo[] =
'downloadable';
174 \
Magento\Catalog\Model\Product::ENTITY,
177 implode(
',', $applyTo)
__construct(ModuleDataSetupInterface $moduleDataSetup, EavSetupFactory $eavSetupFactory)