将新资源目录添加到config.yml中

时间:2015-05-10 12:54:25

标签: php symfony twitter-bootstrap-3 twig twig-extension

在我最近的问答(运作良好)之后,我创建了自己的模板:

 {% extends "bootstrap_3_layout.html.twig" %}
{% block choice_widget_collapsed -%}
    {% set attr = attr|merge({class: (attr.class|default('') ~ ' combobox input-large form-control')|trim}) %}
    {{- parent() -}}
{%- endblock %}

首先它位于...

的目录下
..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\form_combo_layout.html.twig

但是,由于还有其他模板,例如我从bootstrap扩展的模板,我不希望我的'combobox'组件覆盖原始引导程序模板,因为它们使用完全相同的文件夹路径

..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\views\Form\"template name"

当我打电话给...时,config.yml没有问题。

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    form_themes: ['Form/form_errors.html.twig']
    form:                 
         resources: ['form_combo_layout.html.twig']

但是,由于类似组件的覆盖,我将其放入“资源”下的不同文件中,这是

..\vendor\symfony\symfony\src\Symfony\Bridge\Twig\Resources\templates\form_combo_layout.html.twig

并依赖于我想将config.yml中的路径修改为...

twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
    form_themes: ['Form/form_errors.html.twig']
    form:
         resources: ['../Resources/templates/form_combo_layout.html.twig']

最后......我在相关页面中遇到了localhost错误......

Unable to find template "../Resources/templates/form_combo_layout.html.twig" in base.html.twig at line 23.
500 Internal Server Error - Twig_Error_Loader
1 linked Exception: RuntimeException »

尽管如此,文件路径和文件仍然存在。

一些白肋烟的帮助将不胜感激!!!!

PS:在cookbook中写道,我们不能动态地使用参数在导入中构建路径。

imports:
    - { resource: "%kernel.root_dir%/parameters.yml" }

这是错误的

1 个答案:

答案 0 :(得分:0)

我找到了容易像地狱的解决方案.... 因为资源路径请求带有"目录路径的数组表单"参数应该是

resources: ['templates/form_combo_layout.html.twig']