Как установить выбранную опцию в symfony? - PullRequest
0 голосов
/ 16 февраля 2019

Вот моя форма:

{
    $builder
        ->add('price', ChoiceType::class, [
            'label' => false,
            'required' => false,
            'choices' => [
              '0 - 1000 €' => 1,
              '1000 - 2000 €' => 2,
              '2000 - ∞' => 3,
            ],
            'attr' => [
                'class' => 'main-dropdown',
            ],
        ])
    ;
}

Так как передать выбранное значение на веточку?Может кто-нибудь дать совет?

1 Ответ

0 голосов
/ 21 февраля 2019

Я думаю, что вы строите форму в отдельном. С помощью этого метода вы можете использовать форму в любом месте.

Например, это ваша форма

use Symfony\Component\Form\Extension\Core\Type\ChoiceType;///To use this field, you must add ChoiceType in form.


    class yournameFormType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
           $builder
            ->add('price', ChoiceType::class, [
                'label' => false,
                'required' => false,
                'choices' => [
                  '0 - 1000 €' => 1,
                  '1000 - 2000 €' => 2,
                  '2000 - ∞' => 3,
                ],
                'attr' => [
                    'class' => 'main-dropdown',
                ],
            ])
        ;
        }
    }

Вы можете использоватьэта форма в контроллере, как в примере ниже

use AppBundle \ Form \ yournameFormType;

public function newAction()
{
    $YourEntityName = ...;
    $form = $this->createForm(yournameFormType ::class, $YourEntityName );

    // ...
  return $this->render('@App/YourNameTwig.html.twig', array(
            'form' => $form->createView()

        ));
}

и в конце Используйте форму в файле ветки

  {{ form_start(form) }}
  .
  .
  {{ form_widget(form.price) }}
  .
  .
  .
  {{ form_end(form) }}

Подробнее об этом

...