/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $choices = null; foreach ($this->currencyProvider->getAvailableCurrencies() as $currency) { $choices[$currency->getCode()] = sprintf('%s - %s', $currency->getCode(), $currency->getName()); } $resolver->setDefaults(['choices' => $choices]); }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $choices = null; foreach ($this->currencyProvider->getAvailableCurrencies() as $currency) { $choices[$currency->getCode()] = sprintf('%s - %s', $currency->getCode(), $currency->getName()); } $resolver->setDefaults(array('choices' => $choices)); }
/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $currencies = array(); foreach ($this->currencyProvider->getAvailableCurrencies() as $currency) { $currencies[$currency->getCode()] = $currency->getName(); } $builder->add('currency', 'choice', array('choices' => $currencies))->add('product', 'hidden', array('mapped' => false))->add('state', 'choice', array('choices' => array(OrderInterface::STATE_CART => 'sylius.order.state.checkout', OrderInterface::STATE_CART_LOCKED => 'sylius.order.state.cart_locked', OrderInterface::STATE_PENDING => 'sylius.order.state.ordered', OrderInterface::STATE_CONFIRMED => 'sylius.order.state.order_confimed', OrderInterface::STATE_SHIPPED => 'sylius.order.state.shipped', OrderInterface::STATE_ABANDONED => 'sylius.order.state.abandoned', OrderInterface::STATE_CANCELLED => 'sylius.order.state.cancelled', OrderInterface::STATE_RETURNED => 'sylius.order.state.returned'))); }
/** * Builds frontend currency menu. * * @return ItemInterface */ public function createCurrencyMenu() { $menu = $this->factory->createItem('root', array('childrenAttributes' => array('class' => 'nav nav-pills'))); $currencies = $this->currencyProvider->getAvailableCurrencies(); if (1 === count($currencies)) { $menu->setDisplay(false); return $menu; } foreach ($currencies as $currency) { $code = $currency->getCode(); $menu->addChild($code, array('route' => 'sylius_currency_change', 'routeParameters' => array('currency' => $code), 'linkAttributes' => array('title' => $this->translate('sylius.frontend.menu.currency', array('%currency%' => $code)))))->setLabel(Intl::getCurrencyBundle()->getCurrencySymbol($code)); } return $menu; }
/** * Builds frontend currency menu. * * @return ItemInterface */ public function createCurrencyMenu() { $menu = $this->factory->createItem('root', ['childrenAttributes' => ['class' => 'nav nav-pills']]); $currencies = $this->currencyProvider->getAvailableCurrencies(); if (1 === count($currencies)) { $menu->setDisplay(false); return $menu; } foreach ($currencies as $currency) { $code = $currency->getCode(); $menu->addChild($code, ['route' => 'sylius_currency_change', 'routeParameters' => ['currency' => $code], 'linkAttributes' => ['title' => $this->translate('sylius.frontend.menu.currency', ['%currency%' => $code])]])->setLabel(Intl::getCurrencyBundle()->getCurrencySymbol($code)); } $this->eventDispatcher->dispatch(MenuBuilderEvent::FRONTEND_CURRENCY, new MenuBuilderEvent($this->factory, $menu)); return $menu; }