Symfony窗体主题扁平项目
问题描述:
我有一个非常嵌套的对象,其集合类型和子窗体仅用于数据库映射。在前端我只想输出同一个html树上的所有字段。但目前他还将在子表单和集合类型中添加我的div
。在这里我的主题Symfony窗体主题扁平项目
{% block form_row %}
<div class="form-item" {{ block('widget_container_attributes') }}>
{{- form_label(form) -}}
{{- form_errors(form) -}}
{{- form_widget(form) -}}
</div>
{% endblock %}
{%- block form_widget_compound -%}
{%- if form.parent is empty -%}
{{ form_errors(form) }}
{%- endif -%}
{{- block('form_rows') -}}
{{- form_rest(form) -}}
{%- endblock form_widget_compound -%}
例子中的物体:
- 用户名
- 电子邮件
- 接触(一比一)
- 姓
- 姓氏
- contactaddresses(一个一对多)
- 地址(多到多)
- 街道
- 数
- 拉链
正如我有这样的多个对象在我的项目中,我想为所有人使用相同的表单主题。我如何检测其subform
或collectionType
是否不在form_row
中呈现我添加的div。
首先,我认为复合参数是我寻找的,但compound
也是如此,当表单类型是一种选择。
答
我目前的解决方案是为每个具有相同实体的表单类型设置getBlockPrefix
。不是我满意的解决方案,但目前似乎是唯一的解决方案。