Пример #1
0
 /**
  * {@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]);
 }
Пример #2
0
 /**
  * {@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));
 }
Пример #3
0
 /**
  * {@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')));
 }
Пример #4
0
 /**
  * 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;
 }
Пример #5
0
 /**
  * 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;
 }