2012-09-06 9 views
6

Tengo un tipo de campo de formulario personalizado y un tema de formulario asociado para él. En una página tengo muchos de estos campos, pero uno de los campos en particular quiero cambiar.Symfony Twig Form. Asignación de campos específicos

¿Hay alguna forma de tema de ciertos campos del mismo tipo (y en el mismo archivo) de manera diferente?

Un ejemplo simplificado:

form_fields.html.twig: (archivo local de tematización)

{% block my_dropdown_row %} 
<div> 
    {{ form_label(form) }} 
    {{ form_widget(form) }} 
    {{ form_errors(form) }} 
</div> 
{% endblock %} 

En mi plantilla de formulario (todos estos campos tienen el mismo tipo - my_dropdown

{{ form_row(form.selectionA) }} 
{{ form_row(form.selectionB) }} 
{{ form_row(form.selectionC) }} 
{{ form_row(form.final_selection) }} 

¿Cómo puedo diseñar el campo final de manera diferente a los demás? Hay un montón de código en estos widgets, por lo que hay menos duplicaciones, mejor.

Respuesta

6
+0

supe que había visto en alguna parte! Gracias :) – lopsided

+0

Hola, como la página vinculada es bastante grande, la respuesta debe indicar lo que es relevante para la pregunta. – COil

+0

Bueno, esto no es algo que pueda explicarse con algunos comentarios rápidos, es por eso que he vinculado a la página donde esto se explica en su totalidad –

0

cuestión de edad y ya respondió, pero sería bueno tener información más detallada.

{% form_theme form _self %} 

    {% block _product_name_widget %} 
    <div class="text_widget"> 
     {{ block('form_widget_simple') }} 
    </div> 
{% endblock %} 

{{ form_widget(form.name) }} 

Donde nombre del bloque _product_name_widget significa

_ form type(block prefix) _ _ form item namerender function

http://symfony.com/doc/current/form/form_customization.html#how-to-customize-an-individual-field

Cuestiones relacionadas