123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Msrp\Setup\Patch\Data;
- use Magento\Catalog\Setup\CategorySetupFactory;
- use Magento\Framework\Setup\ModuleContextInterface;
- use Magento\Framework\Setup\ModuleDataSetupInterface;
- use Magento\Framework\Setup\UpgradeDataInterface;
- use Magento\Framework\App\ResourceConnection;
- use Magento\Framework\Setup\Patch\DataPatchInterface;
- use Magento\Framework\Setup\Patch\PatchVersionInterface;
- class ChangePriceAttributeDefaultScope implements DataPatchInterface, PatchVersionInterface
- {
- /**
- * @var \Magento\Framework\Setup\ModuleDataSetupInterface
- */
- private $moduleDataSetup;
- /**
- * @var CategorySetupFactory
- */
- private $categorySetupFactory;
- /**
- * PatchInitial constructor.
- * @param \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup
- */
- public function __construct(
- \Magento\Framework\Setup\ModuleDataSetupInterface $moduleDataSetup,
- CategorySetupFactory $categorySetupFactory
- ) {
- $this->moduleDataSetup = $moduleDataSetup;
- $this->categorySetupFactory = $categorySetupFactory;
- }
- /**
- * {@inheritdoc}
- */
- public function apply()
- {
- /** @var \Magento\Catalog\Setup\CategorySetup $categorySetup */
- $categorySetup = $this->categorySetupFactory->create();
- $this->moduleDataSetup->getConnection()->startSetup();
- $entityTypeId = $categorySetup->getEntityTypeId(\Magento\Catalog\Model\Product::ENTITY);
- $this->changePriceAttributeDefaultScope($categorySetup, $entityTypeId);
- $this->moduleDataSetup->getConnection()->endSetup();
- }
- /**
- * {@inheritdoc}
- */
- public static function getDependencies()
- {
- return [
- InitializeMsrpAttributes::class
- ];
- }
- /**
- * {@inheritdoc}
- */
- public static function getVersion()
- {
- return '2.1.3';
- }
- /**
- * {@inheritdoc}
- */
- public function getAliases()
- {
- return [];
- }
- /**
- * Change default scope for price attribute.
- *
- * @param \Magento\Catalog\Setup\CategorySetup $categorySetup
- * @param int $entityTypeId
- */
- private function changePriceAttributeDefaultScope($categorySetup, $entityTypeId)
- {
- $attribute = $categorySetup->getAttribute($entityTypeId, 'msrp');
- $categorySetup->updateAttribute(
- $entityTypeId,
- $attribute['attribute_id'],
- 'is_global',
- \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_GLOBAL
- );
- }
- }
|