/** * Builds frontend locale menu. * * @return ItemInterface */ public function createMenu() { $menu = $this->factory->createItem('root', array('childrenAttributes' => array('class' => 'nav nav-pills'))); foreach ($this->localeProvider->getAvailableLocales() as $locale) { $code = $locale->getCode(); $menu->addChild($code, array('route' => 'sylius_locale_change', 'routeParameters' => array('locale' => $code)))->setLabel(Intl::getLocaleBundle()->getLocaleName($code)); } return $menu; }
/** * Builds frontend locale menu. * * @return ItemInterface */ public function createMenu() { $locales = $this->localeProvider->getAvailableLocales(); $menu = $this->factory->createItem('root', array('childrenAttributes' => array('class' => 'nav nav-pills'))); if (1 === count($locales)) { $menu->setDisplay(false); return $menu; } foreach ($locales as $locale) { $menu->addChild($locale, array('route' => 'sylius_locale_change', 'routeParameters' => array('locale' => $locale)))->setLabel(Intl::getLocaleBundle()->getLocaleName($locale)); } return $menu; }
function it_returns_list_of_locales(LocaleProviderInterface $syliusLocaleProvider) { $listOfLocales = array('en_US', 'pl_PL'); $syliusLocaleProvider->getAvailableLocales()->shouldBeCalled()->willReturn($listOfLocales); $this->getLocales()->shouldReturn($listOfLocales); }
/** * {@inheritdoc} */ public function getLocales() { return $this->syliusLocaleProvider->getAvailableLocales(); }