2012-10-02 8 views
5

Wie wird das Namensattribut des gerenderten Feldes in Symfony 2 festgelegt?Festlegen des Namensattributs des Symfony 2-Formularfelds

Erwarteter Ausgang:

 <input type="text" name="test" value="test" /> 

das Feld auf diese Weise Rendering

 {{ form_widget(form.test, { 'attr': {'name': 'test'} }) }} 

definitiv nicht funktioniert.

Ausgang ist noch

 <input type="text" name="form[test]" value="test" />. 

Gibt es eine Möglichkeit das Attribut name oder id gesetzt dynamisch Attribut? Vielen Dank.

+1

siehe http://stackoverflow.com/questions/8416783/symfony2-form-component-creating-fields-without-the-forms-name-in-the-name-att – max

Antwort

1
<input type="text" name="form[test]" value="test" /> 

hat bereits test als Name. Natürlich gibt es immer noch den Stammnamen form in Ihrem Fall. Dies zu entfernen, wird nicht wirklich empfohlen, da Sie beim Lesen der Anforderung zum Ausfüllen von Formulardaten das Formular anhand seines Formularnamens identifizieren können.

Read [Form] Aktivieren empty root Formularnamenhttps://github.com/symfony/symfony/pull/2936

1

zwingende Zweig Block auf diese Weise:

{% block widget_attributes -%} 
id="{{ id }}" 
{%- if read_only %} readonly="readonly"{% endif -%} 
{%- if disabled %} disabled="disabled"{% endif -%} 
{%- if required %} required="required"{% endif -%} 
{%- for attrname, attrvalue in attr -%} 
    {{- " " -}} 
    {%- if attrname in ['placeholder', 'title'] -%} 
     {{- attrname }}="{{ attrvalue|trans({}, translation_domain) }}" 
    {%- elseif attrvalue is sameas(true) -%} 
     {{- attrname }}="{{ attrname }}" 
    {%- elseif attrvalue is not sameas(false) -%} 
     {{- attrname }}="{{ attrvalue }}" 
    {%- endif -%} 
{%- endfor -%} 
name={{full_name}} 
{%- endblock widget_attributes %} 

Die Änderung nur bewegt name = {{full_name}} von der ersten Zeile zu der letzte, also, wenn Sie den Namen Attr dem Form Builder Add-Element hinzufügen, wird der Name nicht mehr ignoriert.

+0

Standardmäßig ist die Datei "Symfony/Brücke/Zweig/Ressourcen/view/Form/form_div_layout.html.twig " – HRoux