vendor/coreshop/core-shop/src/CoreShop/Bundle/IndexBundle/CoreShopIndexBundle.php line 37

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * CoreShop
  5.  *
  6.  * This source file is available under two different licenses:
  7.  *  - GNU General Public License version 3 (GPLv3)
  8.  *  - CoreShop Commercial License (CCL)
  9.  * Full copyright and license information is available in
  10.  * LICENSE.md which is distributed with this source code.
  11.  *
  12.  * @copyright  Copyright (c) CoreShop GmbH (https://www.coreshop.org)
  13.  * @license    https://www.coreshop.org/license     GPLv3 and CCL
  14.  *
  15.  */
  16. namespace CoreShop\Bundle\IndexBundle;
  17. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterColumnTypePass;
  18. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterConditionRendererTypesPass;
  19. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterExtensionsPass;
  20. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterFilterConditionTypesPass;
  21. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterFilterPreConditionTypesPass;
  22. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterFilterUserConditionTypesPass;
  23. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterGetterPass;
  24. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterIndexWorkerPass;
  25. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterInterpreterPass;
  26. use CoreShop\Bundle\IndexBundle\DependencyInjection\Compiler\RegisterOrderRendererTypesPass;
  27. use CoreShop\Bundle\MenuBundle\CoreShopMenuBundle;
  28. use CoreShop\Bundle\ResourceBundle\AbstractResourceBundle;
  29. use CoreShop\Bundle\ResourceBundle\CoreShopResourceBundle;
  30. use Pimcore\HttpKernel\BundleCollection\BundleCollection;
  31. use Symfony\Component\DependencyInjection\ContainerBuilder;
  32. final class CoreShopIndexBundle extends AbstractResourceBundle
  33. {
  34.     public static function registerDependentBundles(BundleCollection $collection): void
  35.     {
  36.         parent::registerDependentBundles($collection);
  37.         $collection->addBundle(new CoreShopMenuBundle(), 4000);
  38.     }
  39.     public function getSupportedDrivers(): array
  40.     {
  41.         return [
  42.             CoreShopResourceBundle::DRIVER_DOCTRINE_ORM,
  43.         ];
  44.     }
  45.     public function build(ContainerBuilder $container): void
  46.     {
  47.         parent::build($container);
  48.         $container->addCompilerPass(new RegisterColumnTypePass());
  49.         $container->addCompilerPass(new RegisterIndexWorkerPass());
  50.         $container->addCompilerPass(new RegisterInterpreterPass());
  51.         $container->addCompilerPass(new RegisterGetterPass());
  52.         $container->addCompilerPass(new RegisterFilterConditionTypesPass());
  53.         $container->addCompilerPass(new RegisterExtensionsPass());
  54.         $container->addCompilerPass(new RegisterConditionRendererTypesPass());
  55.         $container->addCompilerPass(new RegisterOrderRendererTypesPass());
  56.         $container->addCompilerPass(new RegisterFilterPreConditionTypesPass());
  57.         $container->addCompilerPass(new RegisterFilterUserConditionTypesPass());
  58.     }
  59.     protected function getModelNamespace(): string
  60.     {
  61.         return 'CoreShop\Component\Index\Model';
  62.     }
  63.     public function getPackageName(): string
  64.     {
  65.         return 'coreshop/index-bundle';
  66.     }
  67.     public function getInstaller(): ?Installer
  68.     {
  69.         if ($this->container->has(Installer::class)) {
  70.             /**
  71.              * @var Installer $installer
  72.              */
  73.             $installer $this->container->get(Installer::class);
  74.             return $installer;
  75.         }
  76.         return null;
  77.     }
  78. }