我正在尝试激活Twig StringLoader 扩展 http://twig.sensiolabs.org/doc/functions/template_from_string.html在 Symfony 2.3 项目中,但无法获得正确的 yaml 语法。
这篇文章指的是海弗林的回答 https://stackoverflow.com/questions/9803353/render-content-from-string-database-and-generate-links-with-twig在一篇处理完全相同问题的帖子上,但提供了一个不起作用的解决方案(对我来说)。
在我的中写入以下几行应用程序/配置/config.yml只是给了我以下例外:
# app/config/config.yml
acme.twig.extension.loader:
class: Twig_Extension_StringLoader
tags:
- { name: 'twig.extension' }
给了我这个:
FileLoaderLoadException:无法从“.../app/config/config_dev.yml”导入资源“.../app/config/config.yml”。 (没有扩展能够加载“acme.twig.extension.loader”的配置(在.../app/config/config.yml中)。查找命名空间“acme.twig.extension.loader”,找到“框架”、“安全”、“树枝”、“独白”、“swiftmailer”、“assetic”、“学说”、“sensio_framework_extra”、“apy_data_grid”、“project“、“acme_demo”、“web_profiler”、“sensio_distribution”)
(我已经想知道acme出现在acme.twig.extension.loader并将其替换为项目包的名称,但这再次给了我同样的异常。仅仅切断它也不起作用。)
请帮忙!
Twig 不是 acme 捆绑包的一部分,Twig 是供应商捆绑包本身,因此错误是正确的。没有像 acme.twig.extension.loader 这样的命名空间
固定代码是:
# services.yml
services:
twig.extension.stringloader:
class: Twig_Extension_StringLoader
tags:
- { name: twig.extension }
这可以添加到/app/config/config.yml
在每个捆绑包中使用或将其添加到捆绑包文件夹中/Resources/config/services.yml
仅在某些捆绑包中使用。
然后在树枝模板中将它们用作:
{{ include(template_from_string(page.template)) }}
上面的内容适用于 Symfony v2.5
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)