【发布时间】:2014-11-14 12:43:53
【问题描述】:
我刚开始学习如何使用 Symfony,我认为这很简单,但我对模板引擎有一点问题。我想在 Symfony (2.5.6) 中的一个树枝模板中包含一个静态 HTML 片段。现在我在资源目录中创建了一个静态子文件夹(这可能会改变,但它肯定不会在视图文件夹中)。但是我无法完成这项工作,我总是以unable to find template 错误告终。我发现有关此主题的文档有点稀疏(请参阅http://symfony.com/doc/current/book/templating.html#including-other-templates),树枝文档也无法帮助我解决这个问题。我什至不确定我是否可以使用魔术 @Bundle 表示法,或者我是否必须驻留在视图文件夹中,因为包含标签中不允许使用 ../ 表示法。
我尝试了以下方法(以及一些变体):
{{ include('@FashionMediaBundle/Resources/static/pricing.html') }}
我猜 symfony 无法处理包含的原始 html,但我也可以使用没有任何模板标签的 php 模板,所以问题是如何指定视图文件夹之外的位置。
我知道http://github.com/kgilden/KGStaticBundle 可能会解决我的问题,但我不敢相信默认配置无法实现。
编辑:我只是试图从同一个目录中包含一个常规模板文件,仅指定模板文件的名称(如文档中所做的那样,请参见上面的链接)。我仍然收到一个错误,还抱怨它期望 bundle:section:template.format.engine 作为它的格式。文档中有错误吗?
【问题讨论】:
-
如果你的 bundle 被称为
FashionMediaBundle然后删除 Bundle 部分,在没有它的情况下调用 twig 命名空间路径,如下所示:@FashionMedia -
@xurshid29 不,不是,但你必须省略
@。我有另一个模板的工作测试用例,其中包含类似FashionMediaBundle:Static:include.html.php但不适用于FashionMedia:Static:include.html.php -
不,不是read this :)
-
啊,我明白了。也适用于视图目录中的资源。