custom/plugins/CioSalesRepresentative/src/CioSalesRepresentative.php line 18

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace CioSalesRepresentative;
  4. use CioSalesRepresentative\Definition\SalesRepresentative\SalesRepresentativeCollection;
  5. use CioSalesRepresentative\Definition\SalesRepresentative\SalesRepresentativeEntity;
  6. use Sas\BlogModule\Content\Blog\BlogEntriesDefinition;
  7. use Shopware\Core\Framework\Context;
  8. use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface;
  9. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  10. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter;
  11. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  12. use Shopware\Core\Framework\Plugin;
  13. use Shopware\Core\Framework\Plugin\Context\InstallContext;
  14. class CioSalesRepresentative extends Plugin
  15. {
  16.     public function install(InstallContext $installContext): void
  17.     {
  18.         parent::install($installContext); // TODO: Change the autogenerated stub
  19.         $this->createBlogMediaFolder($installContext->getContext());
  20.     }
  21.     public function createBlogMediaFolder(Context $context): void
  22.     {
  23.         $criteria = new Criteria();
  24.         $criteria->addFilter(
  25.             new EqualsFilter('entity''cio_sales_representative')
  26.         );
  27.         /** @var EntityRepositoryInterface $mediaFolderRepository */
  28.         $mediaFolderRepository $this->container->get('media_default_folder.repository');
  29.         $defaultFolder $mediaFolderRepository->search($criteria$context)->first();
  30.         if (!$defaultFolder) {
  31.             $mediaFolderRepository->create([
  32.                 [
  33.                     'entity' => 'cio_sales_representative',
  34.                     'associationFields' => ['media'],
  35.                     'folder' => [
  36.                         'name' => 'Vertriebsbeauftragte',
  37.                         'useParentConfiguration' => false,
  38.                         'configuration' => [
  39.                             'createThumbnails' => false,
  40.                             'mediaThumbnailSizes' => [],
  41.                         ],
  42.                     ],
  43.                 ],
  44.             ], $context);
  45.         }
  46.     }
  47. }