我正在尝试设置表单的自定义symfony表单集合原型组件。我引用的是正确的文档https://symfony.com/doc/3.3/form/form_customization.html#how-to-customize-a-collection-prototype
表单集合是使用以下内容设置的
<table class="table table-bordered" data-prototype="{{ form_row(form.quoteItemDeliverables.vars.prototype)|e('html_attr') }}">
<caption>Deliverables</caption>
<tr>
<th>Quantity</th>
<th>Date Required</th>
</tr>
{% for itemDeliverable in form.quoteItemDeliverables %}
<tr>
<td>{{ form_widget(itemDeliverable.quantity) }}</td>
<td>{{ form_widget(itemDeliverable.dateRequired) }}</td>
</tr>
{% endfor %}
</table>引用原型的细枝块是使用以下命令设置的
{% form_theme form _self %}
{% block _uniflytebundle_quoteitem_quoteItemDeliverables_entry_row %}
<tr>
{#<td>{{ form_widget(form.quoteItemDeliverables.vars.prototype.quantity) }}</td>#}
</tr>
{{ dump(form.children["quoteItemDeliverables"]) }}
{% endblock %}dump();返回以下错误
Key "quoteItemDeliverables" for array with keys "quantity, dateRequired" does not exist.我做错了什么?
如果我转储( form );我会得到显示子元素、"quoteItemDeliverables“和"prototype”元素的form对象

谁能告诉我如何访问各种表单属性的正确方向?尝试执行在原型的集合表单中所做的操作。下面是工作表单集合元素。
<td>{{ form_widget(itemDeliverable.quantity) }}</td>
<td>{{ form_widget(itemDeliverable.dateRequired) }}</td>我想要同样的原型树枝块,但使用的东西如下
form_widget(itemDeliverable.prototype.dateRequired) 不起作用。我该怎么做呢?
提前感谢您投入的时间和精力。
发布于 2018-01-27 05:40:23
在树枝块内部,form并不引用“全局”表单,而是引用与集合条目相对应的子表单。这就是为什么dump调用产生的错误表明数组有quantity和dateRequired键,但没有quoteItemDeliverables的原因。
因此,你应该拥有的更可能是这样的:
{% block _uniflytebundle_quoteitem_quoteItemDeliverables_entry_row %}
<tr>
<td>{{ form_widget(form.quantity) }}</td>
<td>{{ form_widget(form.dateRequired}}</td>
</tr>
{% endblock %}https://stackoverflow.com/questions/48469679
复制相似问题