Я использую структуру Silex framework
. Я хочу изменить inputText
с помощью checkBox
для множественного выбора. Это после моего кода:
$app->get('/Chart/{A}/{B}/{C}/{D}', function(Request $request, $A, $B, $C, $D) use ($app) { if ($app['security']->isGranted('ROLE_USER')) { ///start form $user = $app['security']->getToken()->getUser(); $form = $app['form.factory']->createBuilder('form')->setMethod('GET') ->add('Article', 'text', array( 'data' => '', 'required' => FALSE))
Я изменил его:
->add('Article', 'choice', array( 'choices' => array('A' => 'B', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'OTHERS' => 'OTHERS'), 'required' => FALSE, 'empty_value' => 'ALL', 'empty_data' => NULL ))
Но это единственный выбор. Как я могу изменить его на флажок для множественного выбора? Я хочу, чтобы checkBox
для multiple choice
следующим:
Спасибо.
Не проверял его, но я считаю, что вы можете установить multiple
вариантов следующим образом:
->add('Article', ChoiceType::class, array( 'choices' => array('A' => 'B', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'OTHERS' => 'OTHERS' ), 'required' => false, 'multiple' => true, 'expanded' => true ) );
Подробнее см. В этой документации.
Что касается разрыва строки, вы можете попробовать, изменив последнюю часть на это ( опять же: не проверенный мной ):
... 'expanded' => true, 'choice_label' => function ($value, $key, $index) { return $key.'<br />'; },