Как добавить классы в ярлыки элемента «ChoiceType» в Symfony 4? - PullRequest
0 голосов
/ 18 апреля 2019

У меня здесь четыре переключателя, и я хочу добавить класс css к каждому ярлыку переключателя. Как я могу это сделать? Я пробовал два способа, но ни один из них не работает:

Попробуйте 1:

        ->add('background', ChoiceType::class, ['label'=>'2. Dein Hintergrund: ', 
        //this adds class to the parent div
        'attr' => ['class' => 'label'],
        'choices'  => [
            1 => 1,
            2 => 2,
            3 => 3,
            4 => 4
        ], 'choice_value' => null,
        'expanded' => true,
        'multiple' => false,
        // this adds class to all radios/input elements
        'choice_attr' => function($choice, $key, $value){
            return ['class' => 'radio radio_'.($key)];
         },
         //this does NOT work, no error but it will not render a class to the label! Why?
         'label_attr' => function($choice, $key, $value){
            return ['class' => 'label'.($key)];
         },
        ])

Попробуйте 2:

 <div class="container">
   {{ form_label(form.background, {'attr': {'class': 'label'}}) }}
            {{ form_widget(form.background) }}
            <button class="button_main">Übernehmen</button>
        </div>

С номером 2 я получаю следующую ошибку:

Исключение было сгенерировано во время рендеринга шаблона ("Примечание: преобразование массива в строку").

Я смотрел эту документацию много раз, но не могу понять!

1 Ответ

0 голосов
/ 18 апреля 2019

Вам нужно создать свой собственный шаблон формы, как в этой документации

...