2017-09-27 2 views
0

Ich versuche, dem ChoiceType-Formular einige CSS-Klassen hinzuzufügen, in meinem Fall eine Radio-Box (ich setze die Option 'multiple' auf false und die Option 'expanded' auf 'true').Wie kann ich Css-Klassen zu ChoseType hinzufügen?

Ich weiß nicht, welche Option ich verwenden sollte, ich versuchte Attr und Choice_attr, aber es hat nicht funktioniert.

Mein Problem ist:

Wie ein CSS-classe an das Radio und den Text des Radios hinzufügen?

$builder 
    ->add('enLigne', ChoiceType::class, [ 
        'choices' => $publier, 
        'attr' => [ 
         'class' => 'radio', 
        ], 
'choice_attr' => function($val, $key, $index) { 
        return ['class' => 'ace input-lg']; 
       }, 
        'multiple' => false, 
        'expanded' => true, 
        'label' => 'Publier *', 
        'label_attr' => [ 
         "class" => "smaller lighter blue", 
         "style" => "font-size: 21px;", 
        ] 
       ]) 

Ich möchte eine Radio-Box wie dies zu tun:

HTML-Code:

<div class="radio"> 
    <label> 
    <input name="form-field-radio" type="radio" class="ace input-lg"> 
    <span class="lbl bigger-120"> large radio</span> 
    </label></div> 
+0

Verwendung 'add' dritten Parameter und schreiben diese' array ('attr' => array ('Klasse', 'attr_name')) ' – Preciel

+0

leid, aber, wie man verwendet dritten Parameter hinzu? –

+0

Entschuldigung, misslesen Sie Ihren Code ... Sie haben bereits das verwendet, was ich oben gesagt habe ... Wenn Sie ein anderes Element innerhalb des Formulars anpassen müssen, dann verwenden Sie css direkt ... 'your_class input [type = radio]' – Preciel

Antwort

0

Fügen Sie keine html php-Attribute verwenden. Fügen Sie diese Attribute stattdessen beim Rendern des Formulars hinzu. Beispiel:

{{ form_start(form) }} 
    {{ form_row(form.enLigne, { 'attr': { 'class': 'smaller lighter blue' } } }} 
{{ form_end(form) 
+0

ty für Ihre Antwort, aber es hat nicht funktioniert. –

+0

Ich habe die Dokumentation befolgt, aber ich finde keine Lösung –

Verwandte Themen