2

在版本 < 2.3 中,属性

data-prototype="{% filter escape %}{% include 'ManaClientBundle:Member:member_prototype.html.twig' with {'form': form.members.get('prototype')} %}{% endfilter %}"

允许原型显示为一行单元格。当然,在 2.3 中,这一行会产生错误

对象“Symfony\Component\Form\FormView”的方法“get”不存在

根据 UPGRADE-2.1.md,不推荐使用get。它不能被建议的变量替换,因为它会产生类似的错误。我怎样才能(容易?)像以前一样在 2.3 中渲染原型?使用

data-prototype="{{ form_widget(form.members.vars.prototype)|e }}"

无论 config.yml 中 twig:resources:form 的 div 或 table 设置如何,都没有提供有用的解决方案。

原型

<tr id="member-form">
<td><input class="smallform" type="radio" name="household[isHead]" value="__name__"></td>
<td>{{ form_widget(form.include, {'attr': {'class':'smallform'}}) }}</td>
<td>{{ form_widget(form.fname, {'attr': {'class':'smallform'}}) }}</td>
<td>{{ form_widget(form.sname, {'attr': {'class':'smallform'}}) }}</td>
<td>{{ form_widget(form.dob, {'attr': {'class':'smallform'}}) }}</td>
<td>{{ form_widget(form.sex, {'attr': {'class':'smallform'}}) }}</td>
<td>{{ form_widget(form.ethnicity, {'attr': {'class':'smallform'}}) }}</td>
<td><a id="removeTr" class="smallbutton" href="#" onclick="removeTr(this)">Remove</a>
4

2 回答 2

11

替换form.members.get('prototype')form.members.vars.prototype

本来可以更清楚地做什么,但找到解决方案的猴子数量却很少。

于 2013-08-09T23:10:29.263 回答
1

扩展块时,上面对我不起作用。至少在 2.3.7 中,我能够访问如下变量:

{% 块 form_row %} {{ form.vars.value }} ..... {% endblock %}

当一个 ArrayCollection 像:

{% block sonata_type_collection_widget %} {% for child in form %} {{ child.vars.form.vars.value.name }} {% endfor %} {% endblock %}

希望对某人有所帮助。

于 2014-05-03T22:45:00.810 回答