10 use Magento\Eav\Setup\EavSetupFactory;
29 private $moduleDataSetup;
39 private $queryModifierFactory;
44 private $aggregatedFieldDataConverter;
59 $this->moduleDataSetup = $moduleDataSetup;
61 $this->queryModifierFactory = $queryModifierFactory;
62 $this->aggregatedFieldDataConverter = $aggregatedFieldDataConverter;
71 $categoryLayoutUpdateAttribute = $this->eavSetup->getAttribute($categoryTypeId,
'custom_layout_update');
72 $categoryLayoutUpdateAttributeModifier = $this->queryModifierFactory->create(
76 'attribute_id' => $categoryLayoutUpdateAttribute[
'attribute_id']
80 $layoutUpdateValueModifier = $this->queryModifierFactory->create(
84 'value' =>
'%conditions_encoded%' 88 $categoryLayoutUpdateModifier = $this->queryModifierFactory->create(
92 $categoryLayoutUpdateAttributeModifier,
93 $layoutUpdateValueModifier
98 $productLayoutUpdateAttribute = $this->eavSetup->getAttribute($productTypeId,
'custom_layout_update');
99 $productLayoutUpdateAttributeModifier = $this->queryModifierFactory->create(
103 'attribute_id' => $productLayoutUpdateAttribute[
'attribute_id']
107 $productLayoutUpdateModifier = $this->queryModifierFactory->create(
110 'queryModifiers' => [
111 $productLayoutUpdateAttributeModifier,
112 $layoutUpdateValueModifier
116 $this->aggregatedFieldDataConverter->convert(
119 LayoutUpdateConverter::class,
120 $this->eavSetup->getSetup()->getTable(
'catalog_category_entity_text'),
123 $categoryLayoutUpdateModifier
126 LayoutUpdateConverter::class,
127 $this->eavSetup->getSetup()->getTable(
'catalog_product_entity_text'),
130 $productLayoutUpdateModifier
133 $this->eavSetup->getSetup()->getConnection()
143 DisallowUsingHtmlForProductName::class,