自symfony2 2.0以来,表单构建器类型实体是否彻底改变了?因为此代码用于返回“BizTVContainerManagementBundle:ContainerSize”类型的所有实体的列表,现在根本不返回任何内容,除了空值...
没有错误消息。我使用{{form_widget(form)}}渲染表单,因此视图中的任何内容都没有更改......
$builder
->add('mainContent', 'entity', array(
'label' => 'Välj storlek på mainContent (kan inte ändras i efterhand). Endast de företag som har denna storlek på sitt mainContent kommer att få åtkomst till denna layoutmall. ',
'property' => 'select_label',
'class' => 'BizTVContainerManagementBundle:ContainerSize',
))
*更新*
Soo ...毕竟它在视图中,因为我有一个自定义渲染的另一个表单控件(不是我丢失的数据)。
{% extends '::base.html.twig' %}
{% form_theme form _self %}
{% block choice_widget %}
{% spaceless %}
{% if expanded %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
{{ form_widget(child) }}
{{ form_label(child) }}
<br /> {# <-------- Here's my addition to the template #}
{% endfor %}
</div>
{% else %}
<select {{ block('widget_attributes') }}{% if multiple %} multiple="multiple"{% endif %}>
{% if empty_value is not none %}
<option value="">{{ empty_value|trans }}</option>
{% endif %}
{% if preferred_choices|length > 0 %}
{% set options = preferred_choices %}
{{ block('widget_choice_options') }}
{% if choices|length > 0 and separator is not none %}
<option disabled="disabled">{{ separator }}</option>
{% endif %}
{% endif %}
{% set options = choices %}
{{ block('widget_choice_options') }}
</select>
{% endif %}
{% endspaceless %}
{% endblock choice_widget %}
{% block contents %}
<h1>Skapa ny skärmlayout</h1>
<div class="t_wrap">
<form action="{{ path('createLayoutTemplate') }}" method="post" {{ form_enctype(form) }} novalidate>
{{ form_widget(form) }}
<p>
<button type="submit" class="green">Skapa</button>
</p>
</form>
<p>
När du har redigerat formulär- och vy-filerna (som skapas då du klickar "skapa"), och testat att de fungerar buggfritt så behöver du klicka 'edit' på denna template och kryssa i "produktion", först då blir mallen valbar vid skapande av innehåll.
</p>
<a href="{{ path('listLayoutTemplates') }}"><button>Tillbaka</button></a>
</div>
{% endblock %}
我发现这需要在symfony2的2.3版本中以不同的方式完成(我生活在2.0版本中)。大惊喜?哈哈......不再了。
我会回答解决方案如何修复它,我找到了一些文档......
答案 0 :(得分:0)
......我发现半年前我曾向半年前提出同样的问题symfony2 twig referencing base widget
所以这就是结果。
{% extends '::base.html.twig' %}
{% form_theme form _self %}
{% block choice_widget_expanded %}
{% spaceless %}
<div {{ block('widget_container_attributes') }}>
{% for child in form %}
{{ form_widget(child) }}
{{ form_label(child) }}
<br />
{% endfor %}
</div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
{% block contents %}
<h1>Skapa ny skärmlayout</h1>
<div class="t_wrap">
<form action="{{ path('createLayoutTemplate') }}" method="post" {{ form_enctype(form) }} novalidate>
{{ form_widget(form) }}
<p>
<button type="submit" class="green">Skapa</button>
</p>
</form>
<p>
När du har redigerat formulär- och vy-filerna (som skapas då du klickar "skapa"), och testat att de fungerar buggfritt så behöver du klicka 'edit' på denna template och kryssa i "produktion", först då blir mallen valbar vid skapande av innehåll.
</p>
<a href="{{ path('listLayoutTemplates') }}"><button>Tillbaka</button></a>
</div>
{% endblock %}