gpt4 book ai didi

php - 创建 Symfony2 表单主题 - 字段集和列表样式

转载 作者:可可西里 更新时间:2023-11-01 12:36:34 25 4
gpt4 key购买 nike

我正在使用 symfony2。我正在尝试覆盖 Twig 中的默认 div 样式表单 block 。

首先,是否有人知道或知道字段集和列表(ul -> li)方法的可用实现?

最佳答案

目前,我实现了这样的字段集支持:

在类型中:

public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->setAttribute('fieldsets',
array(
array(
'legend' => 'film.group.date',
'content'=> array(
'theaters_release_date',
'storage_media_release',
'storage_media_release_date',
'vod_release_date'
)),
array(
'legend' => 'film.group.country',
'content'=> array('countries')),
));
}

我有一个名为 fieldset.html.twig 的模板,它使用 View 的属性:

{% macro fieldset_block(fieldset, form) %}
<fieldset{% if fieldset.subform is defined %} class="{{ fieldset.subform }}"{% endif %}>
<legend>{{fieldset.legend | trans }}</legend>
{% if fieldset.content is defined%}
{% for row in fieldset.content %}
{{ form_row(form[row]) }}
{% endfor %}
{% endif %}
{% if fieldset.subform is defined %}
{# Couldn't get some recursivity (simply call form widget) here... too bad #}
{% if form[fieldset.subform].get('attr').fieldsets is defined %}
{% for subfieldset in form[fieldset.subform].get('attr').fieldsets %}
{{ _self.fieldset_block(subfieldset, form[fieldset.subform]) }}
{% endfor %}
{% else %}
{% for row in form[fieldset.subform] %}
{{ form_row(row) }}
{% endfor %}
{% endif %}
{% endif %}
{% if fieldset.items is defined%}
{% for fieldset in fieldset.items %}
{{ _self.fieldset_block(fieldset, form) }}
{% endfor %}
{% endif %}
</fieldset>
{% endmacro %}

{% block form_widget %}
{% for fieldset in form.get('attr').fieldsets %}
{{ _self.fieldset_block(fieldset, form) }}
{% endfor %}
{% endblock %}

关于php - 创建 Symfony2 表单主题 - 字段集和列表样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7457473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com