Nella documentazione c'è un modo in Symfony per customize a Individual field, basato sul nome/id del widget.Symfony Twig personalizza un campo Individuale per una collezione
{% form_theme form _self %}
{% block _product_name_widget %}
<div class="text_widget">
{{ block('field_widget') }}
</div>
{% endblock %}
{{ form_widget(form.name) }}
Qui, il frammento _product_name_widget definisce il modello da utilizzare per il campo cui id è product_name (e nome è prodotto [nome]).
Questo funziona per un normale widget, ma non se un widget si trova all'interno di una raccolta. A causa delle colonne in più. In questo modo:
name="productbundle_product_type[foobar][1][value]" id="productbundle_product_type_foobar_1_value"
Qual è il modo per far funzionare la personalizzazione Twig all'interno della raccolta?
ho pensato qualcosa di simile, ma questo non funziona:
{% for db in edit_form.list %}
{% block _productbundle_product_type_foobar_{{ db.name }}_widget %}
<div class="text_widget">
{{ block('field_widget') }}
</div>
{% endblock %}
{% endfor %}
Anche il seguente non funziona:
{% _productbundle_product_type_foobar_1_value_widget %}
Qual è il modo per farlo funzionare?
E se usi '{% block _productbundle_product_type_foobar_1 _ {{db.name}} _ widget%}' (con '_1_') – cheesemacfly
no, anche il seguente non funziona:' {% _productbundle_product_type_foobar_1_value_widget%} ' – user2382765
Sono sorpreso perché il documento afferma: 'Qui, il frammento _product_name_widget definisce il modello da utilizzare per il campo il cui id è nome_prodotto (e il nome è prodotto [nome]).' Quindi se il nome del widget è 'productbundle_product_type [foobar] [1] [valore] 'dovresti essere in grado di usare' {% block _productbundle_product_type_foobar_1_value_widget%} ' – cheesemacfly