Example #1
-1
 /**
  * @param Container $container
  * @param EnlightEventManager $eventManager
  * @return \Shopware\Components\Routing\RouterInterface
  * @throws \Exception
  */
 public function factory(Container $container, EnlightEventManager $eventManager)
 {
     $queryAliasMapper = $container->get('query_alias_mapper');
     $matchers = [new Matchers\RewriteMatcher($container->get('dbal_connection'), $queryAliasMapper), new Matchers\EventMatcher($eventManager), new Matchers\DefaultMatcher($container->get('dispatcher'))];
     $generators = [new Generators\RewriteGenerator($container->get('dbal_connection'), $queryAliasMapper), new Generators\DefaultGenerator($container->get('dispatcher'))];
     $preFilters = [new GeneratorFilters\DefaultPreFilter(), new GeneratorFilters\FrontendPreFilter()];
     $postFilters = [new GeneratorFilters\FrontendPostFilter(), new GeneratorFilters\DefaultPostFilter()];
     $router = new \Shopware\Components\Routing\Router(Context::createEmpty(), $matchers, $generators, $preFilters, $postFilters);
     /** Still better than @see \Shopware\Models\Shop\Shop::registerResources */
     $eventManager->addListener('Enlight_Bootstrap_AfterRegisterResource_Shop', array($this, 'onAfterRegisterShop'), -100);
     $eventManager->addListener('Enlight_Controller_Front_PreDispatch', array($this, 'onPreDispatch'), -100);
     return $router;
 }