我正在使用symfony2.我试图覆盖树枝中的默认div样式表单块.
首先,有没有或知道fieldset和list(ul – > li)方法的可用实现?
目前,我实现了这样的fieldset支持:
在类型中:
- 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的模板,它使用视图的属性:
- {% 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 %}