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

前端之家收集整理的这篇文章主要介绍了php – 创建Symfony2表单主题 – 字段集和列表样式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用symfony2.我试图覆盖树枝中的默认div样式表单块.

首先,有没有或知道fieldset和list(ul – > li)方法的可用实现?

目前,我实现了这样的fieldset支持

在类型中:

  1. public function buildView(FormView $view,FormInterface $form,array $options)
  2. {
  3. $view->setAttribute('fieldsets',array(
  4. array(
  5. 'legend' => 'film.group.date','content'=> array(
  6. 'theaters_release_date','storage_media_release','storage_media_release_date','vod_release_date'
  7. )),array(
  8. 'legend' => 'film.group.country','content'=> array('countries')),));
  9. }

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

  1. {% macro fieldset_block(fieldset,form) %}
  2. <fieldset{% if fieldset.subform is defined %} class="{{ fieldset.subform }}"{% endif %}>
  3. <legend>{{fieldset.legend | trans }}</legend>
  4. {% if fieldset.content is defined%}
  5. {% for row in fieldset.content %}
  6. {{ form_row(form[row]) }}
  7. {% endfor %}
  8. {% endif %}
  9. {% if fieldset.subform is defined %}
  10. {# Couldn't get some recursivity (simply call form widget) here... too bad #}
  11. {% if form[fieldset.subform].get('attr').fieldsets is defined %}
  12. {% for subfieldset in form[fieldset.subform].get('attr').fieldsets %}
  13. {{ _self.fieldset_block(subfieldset,form[fieldset.subform]) }}
  14. {% endfor %}
  15. {% else %}
  16. {% for row in form[fieldset.subform] %}
  17. {{ form_row(row) }}
  18. {% endfor %}
  19. {% endif %}
  20. {% endif %}
  21. {% if fieldset.items is defined%}
  22. {% for fieldset in fieldset.items %}
  23. {{ _self.fieldset_block(fieldset,form) }}
  24. {% endfor %}
  25. {% endif %}
  26. </fieldset>
  27. {% endmacro %}
  28.  
  29. {% block form_widget %}
  30. {% for fieldset in form.get('attr').fieldsets %}
  31. {{ _self.fieldset_block(fieldset,form) }}
  32. {% endfor %}
  33. {% endblock %}

猜你在找的PHP相关文章