/** * Setting lang seo alternatives * * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { $langs = ['en', 'ru']; $request = $event->getRequest(); $route = $request->attributes->get('_route'); if ($route) { $routeParams = $request->attributes->get('_route_params'); $attributes = $request->query->all(); if (!is_null($routeParams)) { $attributes = array_merge($attributes, $routeParams); } foreach ($langs as $lang) { $attributes['_locale'] = $lang; $this->seoPage->addLangAlternate($this->router->generate($route, $attributes, true), $lang); } } }
/** * {inheritDoc}. */ public function updateAlternateLocales(AlternateLocaleCollection $collection) { foreach ($collection as $alternateLocale) { $this->sonataPage->addLangAlternate($alternateLocale->href, $alternateLocale->hrefLocale); } }
public function testSetSeparator() { $page = new SeoPage(); $this->assertInstanceOf('Sonata\\SeoBundle\\Seo\\SeoPage', $page->setSeparator('-')); }