custom/plugins/CompraMinimumOrderValueSW6/src/CompraMinimumOrderValueSW6.php line 11

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Compra\MinimumOrderValueSW6;
  3. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  5. use Shopware\Core\Framework\Plugin;
  6. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  7. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  8. class CompraMinimumOrderValueSW6 extends Plugin
  9. {
  10.     public function install(InstallContext $installContext): void
  11.     {
  12.         parent::install($installContext);
  13.         $customFieldSetRepository $this->container->get('custom_field_set.repository');
  14.         $criteria = new Criteria();
  15.         $criteria->addFilter(new EqualsFilter('name''compra_minimum_order_value'));
  16.         $result $customFieldSetRepository->searchIds($criteria$installContext->getContext());
  17.         if (!($result->getTotal() > 0)) {
  18.             $this->addMinimumOrderValueFields($installContext);
  19.         }
  20.     }
  21.     public function uninstall(UninstallContext $uninstallContext): void
  22.     {
  23.         parent::uninstall($uninstallContext);
  24.         $customFieldSetRepository $this->container->get('custom_field_set.repository');
  25.         $criteria = new Criteria();
  26.         $criteria->addFilter(new EqualsFilter('name''compra_minimum_order_value'));
  27.         $result $customFieldSetRepository->searchIds($criteria$uninstallContext->getContext());
  28.         if ($result->getTotal() > && !$uninstallContext->keepUserData()) {
  29.             $data $result->getDataOfId($result->firstId());
  30.             $customFieldSetRepository->delete([$data], $uninstallContext->getContext());
  31.         }
  32.     }
  33.     /**
  34.      * @param $context
  35.      */
  36.     protected function addMinimumOrderValueFields($context)
  37.     {
  38.         $customFieldSetRepository $this->container->get('custom_field_set.repository');
  39.         $customFieldSetRepository->upsert([[
  40.             'name' => 'compra_minimum_order_value',
  41.             'config' => [
  42.                 'label' => [
  43.                     'en-GB' => 'COMPRA minimum order value',
  44.                     'de-DE' => 'COMPRA Mindestbestellwert'
  45.                 ]
  46.             ],
  47.             'relations' => [
  48.                 [
  49.                     'entityName' => 'country'
  50.                 ]
  51.             ],
  52.             'customFields' => [
  53.                 [
  54.                     'name' => 'compra_minimum_order_value',
  55.                     'type' => 'price'
  56.                 ]
  57.             ]
  58.         ]], $context->getContext());
  59.     }
  60. }