Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-configurable-product
Setup
Patch
Data
InstallInitialConfigurableAttributes.php
Go to the documentation of this file.
1
<?php
7
namespace
Magento\ConfigurableProduct\Setup\Patch\Data
;
8
9
use
Magento\Eav\Setup\EavSetup
;
10
use Magento\Eav\Setup\EavSetupFactory;
11
use
Magento\Framework\App\ResourceConnection
;
12
use
Magento\Framework\Setup\ModuleDataSetupInterface
;
13
use
Magento\Framework\Setup\Patch\DataPatchInterface
;
14
use
Magento\Framework\Setup\Patch\PatchVersionInterface
;
15
use
Magento\ConfigurableProduct\Model\Product\Type\Configurable
;
16
21
class
InstallInitialConfigurableAttributes
implements
DataPatchInterface
,
PatchVersionInterface
22
{
26
private
$moduleDataSetup;
30
private
$eavSetupFactory;
31
37
public
function
__construct
(
38
ModuleDataSetupInterface
$moduleDataSetup,
39
EavSetupFactory $eavSetupFactory
40
) {
41
$this->moduleDataSetup = $moduleDataSetup;
42
$this->eavSetupFactory =
$eavSetupFactory
;
43
}
44
48
public
function
apply
()
49
{
51
$eavSetup
= $this->eavSetupFactory->create([
'setup'
=> $this->moduleDataSetup]);
52
$attributes
= [
53
'country_of_manufacture'
,
54
'manufacturer'
,
55
'minimal_price'
,
56
'msrp'
,
57
'msrp_display_actual_price_type'
,
58
'price'
,
59
'special_price'
,
60
'special_from_date'
,
61
'special_to_date'
,
62
'tier_price'
,
63
'weight'
,
64
'color'
65
];
66
foreach
(
$attributes
as
$attributeCode
) {
67
$relatedProductTypes = explode(
68
','
,
69
$eavSetup
->getAttribute(\
Magento
\Catalog\Model\Product::ENTITY,
$attributeCode
,
'apply_to'
)
70
);
71
if
(!in_array(
Configurable::TYPE_CODE
, $relatedProductTypes)) {
72
$relatedProductTypes[] =
Configurable::TYPE_CODE
;
73
$eavSetup
->updateAttribute(
74
\
Magento
\Catalog\Model\Product::ENTITY,
75
$attributeCode
,
76
'apply_to'
,
77
implode(
','
, $relatedProductTypes)
78
);
79
}
80
}
81
}
82
86
public
static
function
getDependencies
()
87
{
88
return
[];
89
}
90
94
public
static
function
getVersion
()
95
{
96
return
'2.0.0'
;
97
}
98
102
public
function
getAliases
()
103
{
104
return
[];
105
}
106
}
Magento\Framework\Setup\Patch\DataPatchInterface
Definition:
DataPatchInterface.php:12
Magento\ConfigurableProduct\Setup\Patch\Data
Definition:
InstallInitialConfigurableAttributes.php:7
Magento\ConfigurableProduct\Setup\Patch\Data\InstallInitialConfigurableAttributes
Definition:
InstallInitialConfigurableAttributes.php:21
Magento\ConfigurableProduct\Model\Product\Type\Configurable\TYPE_CODE
const TYPE_CODE
Definition:
Configurable.php:35
Magento\Framework\Setup\ModuleDataSetupInterface
Definition:
ModuleDataSetupInterface.php:14
Magento\ConfigurableProduct\Setup\Patch\Data\InstallInitialConfigurableAttributes\getDependencies
static getDependencies()
Definition:
InstallInitialConfigurableAttributes.php:86
Magento\Framework\Setup\Patch\PatchInterface\apply
apply()
Magento\ConfigurableProduct\Model\Product\Type\Configurable
Definition:
AttributeTest.php:6
$attributeCode
$attributeCode
Definition:
extend.phtml:12
Magento
$attributes
$attributes
Definition:
matrix.phtml:13
Magento\Eav\Setup\EavSetup
Definition:
EavSetup.php:25
Magento\Framework\Setup\Patch\PatchVersionInterface
Definition:
PatchVersionInterface.php:13
Magento\ConfigurableProduct\Setup\Patch\Data\InstallInitialConfigurableAttributes\getAliases
getAliases()
Definition:
InstallInitialConfigurableAttributes.php:102
Magento\ConfigurableProduct\Setup\Patch\Data\InstallInitialConfigurableAttributes\getVersion
static getVersion()
Definition:
InstallInitialConfigurableAttributes.php:94
Magento\Framework\App\ResourceConnection
Magento\ConfigurableProduct\Setup\Patch\Data\InstallInitialConfigurableAttributes\__construct
__construct(ModuleDataSetupInterface $moduleDataSetup, EavSetupFactory $eavSetupFactory)
Definition:
InstallInitialConfigurableAttributes.php:37
$eavSetupFactory
$eavSetupFactory
Definition:
product_for_search_rollback.php:21
$eavSetup
$eavSetup
Definition:
product_for_search_rollback.php:23