根据Bundle更改表单渲染器模板

时间:2013-11-28 17:33:22

标签: php symfony twig

Symfony附带了form_div_layout.html.twig文件中的表单模板。我想根据Bundle更改该模板。

  • Bundle A中的视图 - >使用form_div_layout.html.twig
  • 显示表单
  • Bundle B中的视图 - >使用form_div_whatever_layout.html.twig
  • 显示表单

这可能吗?

1 个答案:

答案 0 :(得分:0)

不一般。但是,如果每页只有一个表单,有一种方法可以做到这一点:

template_a.html.twig

{% if form|defined %}
    {% form_theme form "form_div_layout.html.twig" %}
{% endif}

{# rest of the tempalte goes here %}

BundleA中的每一页

{% extends "....template_a.html.twig %}

{# extend the blocks defined in template_a.html.twig

主要缺点是,如果您有表单,则必须将其传递给变量名为 form 的模板,否则将无效...

也许别人可以对这个问题有更多启发......