在 Silex 中覆盖 Twig 表单主题
Override Twig form theme in Silex
如何在 Silex 中覆盖部分 Twig 表单主题?我知道在 Symfony 中,我所要做的就是扩展原始文件,然后创建我的覆盖块,但这在 Silex 中似乎不起作用。我想自定义 bootstrap_3_horizontal_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 %}
如果我将它放在我的 views 目录中,Twig 似乎陷入无限循环,该文件扩展自身而不是 twig-bridge 组件中的对应文件。
我找到了解决问题的方法:
$app['twig.loader.filesystem']->prependPath(__DIR__.'/../src/View/Form');
这告诉 twig 查看我的 scr/view/form 目录,我从上面的模板那里。在使用 twig 桥中的模板之前,它将检查此目录。
如何在 Silex 中覆盖部分 Twig 表单主题?我知道在 Symfony 中,我所要做的就是扩展原始文件,然后创建我的覆盖块,但这在 Silex 中似乎不起作用。我想自定义 bootstrap_3_horizontal_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 %}
如果我将它放在我的 views 目录中,Twig 似乎陷入无限循环,该文件扩展自身而不是 twig-bridge 组件中的对应文件。
我找到了解决问题的方法:
$app['twig.loader.filesystem']->prependPath(__DIR__.'/../src/View/Form');
这告诉 twig 查看我的 scr/view/form 目录,我从上面的模板那里。在使用 twig 桥中的模板之前,它将检查此目录。