首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问twig块内的symfony表单集合原型属性/属性

访问twig块内的symfony表单集合原型属性/属性
EN

Stack Overflow用户
提问于 2018-01-27 05:18:26
回答 1查看 414关注 0票数 0

我正在尝试设置表单的自定义symfony表单集合原型组件。我引用的是正确的文档https://symfony.com/doc/3.3/form/form_customization.html#how-to-customize-a-collection-prototype

表单集合是使用以下内容设置的

代码语言:javascript
复制
        <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>

引用原型的细枝块是使用以下命令设置的

代码语言:javascript
复制
{% 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();返回以下错误

代码语言:javascript
复制
Key "quoteItemDeliverables" for array with keys "quantity, dateRequired" does not exist.

我做错了什么?

如果我转储( form );我会得到显示子元素、"quoteItemDeliverables“和"prototype”元素的form对象

谁能告诉我如何访问各种表单属性的正确方向?尝试执行在原型的集合表单中所做的操作。下面是工作表单集合元素。

代码语言:javascript
复制
            <td>{{ form_widget(itemDeliverable.quantity) }}</td>
            <td>{{ form_widget(itemDeliverable.dateRequired) }}</td>

我想要同样的原型树枝块,但使用的东西如下

代码语言:javascript
复制
form_widget(itemDeliverable.prototype.dateRequired) 

不起作用。我该怎么做呢?

提前感谢您投入的时间和精力。

EN

回答 1

Stack Overflow用户

发布于 2018-01-27 05:40:23

在树枝块内部,form并不引用“全局”表单,而是引用与集合条目相对应的子表单。这就是为什么dump调用产生的错误表明数组有quantitydateRequired键,但没有quoteItemDeliverables的原因。

因此,你应该拥有的更可能是这样的:

代码语言:javascript
复制
{% block _uniflytebundle_quoteitem_quoteItemDeliverables_entry_row %}
    <tr>
        <td>{{ form_widget(form.quantity) }}</td>
        <td>{{ form_widget(form.dateRequired}}</td>
    </tr>
{% endblock %}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48469679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档