1

在我最近的问答之后(效果很好),我创建了自己的模板:

 {% 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

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

..\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']

最后......我在相关页面的本地主机上遇到了一个错误......

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" }

这是错误的

4

1 回答 1

0

I found solution which is easy like hell.... since resources path requests an array form with a "directory path" parameter it should be

resources: ['templates/form_combo_layout.html.twig']
于 2015-05-10T15:47:27.700 回答