<?php declare(strict_types=1);
namespace CioSalesRepresentative;
use CioSalesRepresentative\Definition\SalesRepresentative\SalesRepresentativeCollection;
use CioSalesRepresentative\Definition\SalesRepresentative\SalesRepresentativeEntity;
use Sas\BlogModule\Content\Blog\BlogEntriesDefinition;
use Shopware\Core\Framework\Context;
use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsAnyFilter;
use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\InstallContext;
class CioSalesRepresentative extends Plugin
{
public function install(InstallContext $installContext): void
{
parent::install($installContext); // TODO: Change the autogenerated stub
$this->createBlogMediaFolder($installContext->getContext());
}
public function createBlogMediaFolder(Context $context): void
{
$criteria = new Criteria();
$criteria->addFilter(
new EqualsFilter('entity', 'cio_sales_representative')
);
/** @var EntityRepositoryInterface $mediaFolderRepository */
$mediaFolderRepository = $this->container->get('media_default_folder.repository');
$defaultFolder = $mediaFolderRepository->search($criteria, $context)->first();
if (!$defaultFolder) {
$mediaFolderRepository->create([
[
'entity' => 'cio_sales_representative',
'associationFields' => ['media'],
'folder' => [
'name' => 'Vertriebsbeauftragte',
'useParentConfiguration' => false,
'configuration' => [
'createThumbnails' => false,
'mediaThumbnailSizes' => [],
],
],
],
], $context);
}
}
}