在Silex中覆盖Twig表单主题

时间:2015-04-23 16:27:04

标签: php twig silex

如何在Silex中覆盖Twig的表格主题部分?我知道在Symfony中,我所要做的就是扩展原始文件,然后创建我的覆盖块,但这似乎在Silex中不起作用。我想自定义bootstrap_3_horizo​​ntal_layout.html.twig表单主题的一些部分。我可以不将主题文件复制到我的视图目录中吗?

这是我的树枝模板:

{% extends 'bootstrap_3_horizontal_layout.html.twig' %}

{% block form_label_class -%}
    col-sm-4
{%- endblock form_label_class %}

{% block form_group_class -%}
    col-sm-6
{%- endblock form_group_class %}

{% block button_widget -%}
    {% set attr = attr|merge({class: (attr.class|default('') ~ ' btn btn-primary')|trim}) %}
    {{- parent() -}}
{%- endblock %}

如果我把它放在我的视图目录中,Twig似乎陷入无限循环,这个文件扩展自己而不是twig-bridge组件中的对应文件。

1 个答案:

答案 0 :(得分:2)

我找到了解决问题的方法:

$app['twig.loader.filesystem']->prependPath(__DIR__.'/../src/View/Form');

这告诉twig在我的scr / view / form目录中查看我的模板。在使用树枝桥中的模板之前,它将检查此目录。