![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/app/code/Cnc/Catalog/Setup/Patch/Data/ |
<?php /** * Copyright (c) 2020 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved. * https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * Cnc * Radosław Stępień <[email protected]> <[email protected]> */ namespace Cnc\Catalog\Setup\Patch\Data; use Cnc\Catalog\Model\Config; use Magento\Catalog\Block\Adminhtml\Product\Helper\Form\Weight as WeightFormHelper; use Magento\Catalog\Model\Product\Attribute\Backend\Weight; use Magento\Eav\Setup\EavSetup; use Magento\Eav\Setup\EavSetupFactory; use Magento\Framework\Setup\ModuleDataSetupInterface; use Magento\Framework\Setup\Patch\DataPatchInterface; class CreateNetWeightAttribute implements DataPatchInterface { /** * ModuleDataSetupInterface * * @var ModuleDataSetupInterface */ private $moduleDataSetup; /** * EavSetupFactory * * @var EavSetupFactory */ private $eavSetupFactory; /** * AddRecommendedAttribute constructor. * * @param ModuleDataSetupInterface $moduleDataSetup * @param EavSetupFactory $eavSetupFactory */ public function __construct( ModuleDataSetupInterface $moduleDataSetup, EavSetupFactory $eavSetupFactory ) { $this->moduleDataSetup = $moduleDataSetup; $this->eavSetupFactory = $eavSetupFactory; } /** * Get array of patches that have to be executed prior to this. * * Example of implementation: * * [ * \Vendor_Name\Module_Name\Setup\Patch\Patch1::class, * \Vendor_Name\Module_Name\Setup\Patch\Patch2::class * ] * * @return string[] */ public static function getDependencies() { return []; } /** * Get aliases (previous names) for the patch. * * @return string[] */ public function getAliases() { return []; } /** * Run code inside patch * If code fails, patch must be reverted, in case when we are speaking about schema - then under revert * means run PatchInterface::revert() * * If we speak about data, under revert means: $transaction->rollback() * */ public function apply() { /** @var EavSetup $eavSetup */ $eavSetup = $this->eavSetupFactory->create(['setup' => $this->moduleDataSetup]); $eavSetup->addAttribute('catalog_product', Config::PRODUCT_ATTRIBUTE_CODE_NET_WEIGHT, [ 'type' => 'decimal', 'label' => 'Net weight', 'input' => 'weight', 'backend' => Weight::class, 'input_renderer' => WeightFormHelper::class, 'sort_order' => 80, 'apply_to' => '', 'is_used_in_grid' => true, 'is_visible_in_grid' => false, 'is_filterable_in_grid' => true ]); } }