vendor/coreshop/core-shop/src/CoreShop/Bundle/ProductBundle/CoreShopProductBundle.php line 36

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\ProductBundle;
  17. use CoreShop\Bundle\MoneyBundle\CoreShopMoneyBundle;
  18. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductDiscountCalculatorsPass;
  19. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductDiscountPriceCalculatorsPass;
  20. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductPriceRuleActionPass;
  21. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductPriceRuleConditionPass;
  22. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductRetailPriceCalculatorsPass;
  23. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductSpecificPriceRuleActionPass;
  24. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductSpecificPriceRuleConditionPass;
  25. use CoreShop\Bundle\ProductBundle\DependencyInjection\Compiler\ProductValidPriceRuleFetcherPass;
  26. use CoreShop\Bundle\ResourceBundle\AbstractResourceBundle;
  27. use CoreShop\Bundle\ResourceBundle\CoreShopResourceBundle;
  28. use CoreShop\Bundle\RuleBundle\CoreShopRuleBundle;
  29. use Pimcore\HttpKernel\BundleCollection\BundleCollection;
  30. use Symfony\Component\DependencyInjection\ContainerBuilder;
  31. final class CoreShopProductBundle extends AbstractResourceBundle
  32. {
  33.     public function getSupportedDrivers(): array
  34.     {
  35.         return [
  36.             CoreShopResourceBundle::DRIVER_DOCTRINE_ORM,
  37.         ];
  38.     }
  39.     public function build(ContainerBuilder $container): void
  40.     {
  41.         parent::build($container);
  42.         $container->addCompilerPass(new ProductPriceRuleConditionPass());
  43.         $container->addCompilerPass(new ProductPriceRuleActionPass());
  44.         $container->addCompilerPass(new ProductSpecificPriceRuleConditionPass());
  45.         $container->addCompilerPass(new ProductSpecificPriceRuleActionPass());
  46.         $container->addCompilerPass(new ProductValidPriceRuleFetcherPass());
  47.         $container->addCompilerPass(new ProductRetailPriceCalculatorsPass());
  48.         $container->addCompilerPass(new ProductDiscountPriceCalculatorsPass());
  49.         $container->addCompilerPass(new ProductDiscountCalculatorsPass());
  50.     }
  51.     public static function registerDependentBundles(BundleCollection $collection): void
  52.     {
  53.         parent::registerDependentBundles($collection);
  54.         $collection->addBundle(new CoreShopMoneyBundle(), 3600);
  55.         $collection->addBundle(new CoreShopRuleBundle(), 3500);
  56.     }
  57.     protected function getModelNamespace(): string
  58.     {
  59.         return 'CoreShop\Component\Product\Model';
  60.     }
  61. }