Wie legen Sie ein Klassenattribut auf eine Symfony2-Formulareingabe fest
Wie kann ich die HTML
class
- Attribut für ein form <input>
mit der FormBuilder
im Symfony2
?
Etwas wie dieses:
->add('birthdate', 'date',array(
'input' => 'datetime',
'widget' => 'single_text',
'attr' => array(
'class' => 'calendar'
)
))
{{ form_widget(form.birthdate) }}
Möchte ich dieses input
Feld mit dem Attribut class
eingestellt Kalender
InformationsquelleAutor der Frage Jean-Philippe Bond | 2011-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies aus der twig template:
Vom http://symfony.com/doc/current/book/forms.html#rendering-each-field-by-hand
InformationsquelleAutor der Antwort Problematic
Können Sie es mit FormBuilder. Fügen Sie diese auf das array in Ihrem FormBuilder:
InformationsquelleAutor der Antwort Acyra
Die Antwort von Acyra führen der richtige Weg, wenn Sie festlegen möchten Parametern in der Steuerung, hat aber viele Ungenauigkeiten.
Ja, können Sie es direkt mit dem FormBuilder mithilfe der
attr
Attribut (eingeführt hier für die 2.1 version und hier für den 2.0) auf das array der Optionen wie folgt:Ist es nicht wahr, dass die "Funktionalität ist gebrochen". Es funktioniert sehr gut!
Ist es nicht wahr, dass Symfony2 gilt die HTML -
class
- Attribut, um sowohl das label und der input (zumindest aus der 2.1 version).Da zudem die
attr
Attribut ist ein array selbst können Sie beliebigen HTML-Attribut, das Sie Rendern möchten, die für das Feld. Es ist sehr hilfreich, wenn Sie wollen, passieren die HTML5data-
Attribute.InformationsquelleAutor der Antwort JeanValjean
InformationsquelleAutor der Antwort Kiran
Wie diese:
InformationsquelleAutor der Antwort Alexandre Velo Santorum
Können Sie dies in den Optionen der form-Klasse:
InformationsquelleAutor der Antwort segli
Rendert das HTML-widget von einem bestimmten Bereich. Wenn Sie diese anwenden, um ein ganzes Formular oder eine Sammlung von Feldern, jedes Formular zugrunde liegenden Zeile dargestellt werden.
{# render a field row, but display a label with text "foo" #}
{{ form_row(form.name, {'label': 'foo'}) }}
Das zweite argument form_row() ist ein array von Variablen. Die Vorlagen in Symfony nur erlauben, das überschreiben der Bezeichnung wie im obigen Beispiel gezeigt.
Siehe "Mehr über die Form-Variablen" erfahren Sie mehr über die Variablen argument.
InformationsquelleAutor der Antwort Javier Morillo