symfony - 无法找到模板 Symfony2

标签 symfony include twig

我想在我的 View 中包含一个模板,但它不起作用,我遇到此错误:

Unable to find template "::StyleBlock/light-pattern.html.twig" in ::base.html.twig at line 46.

我的代码:

{% for zone in content.blocks %}
    {% set path = '::StyleBlock/' ~ zone.styles %}
    {% include path %}
{% endfor %}

在详细信息中,我有以下消息:

InvalidArgumentException:文件“views/StyleBlock/light-pattern.html.twig”不存在(位于:/var/www/gathena/app/Resources)。

但是路径是正确的,我不明白。

我使用 Symfony 2.3 并且我对我的目录有良好的权限

最佳答案

你给出的路径错误,应该是:

{% for zone in content.blocks %}
    {% set path = 'CmsCmsBundle:StyleBlock:' ~ zone.styles %}
    {% include path %}
{% endfor %}

对于路径src/Cms/CmsBundle/Resources/views/StyleBlock/

第一个参数是您的包,第二个参数是本例中的 Controller StyleBlock,因此您的 View 位于 Resources/views/StyleBlock 目录中的包中,最后一个参数在本例中是由循环变量定义的模板名称。它应该只是您的模板名称,没有任何绝对路径。所有参数均以 :

分隔

关于symfony - 无法找到模板 Symfony2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033333/

相关文章:

symfony1 - symfony2 生产准备好了吗?

extjs - 在 Web 应用程序中包含 EXTJS 5 库

html - shtml 中的 "include file"是保持非数据库更改数据的最佳方法吗

PHP - 查找包含当前文档的脚本的 URL

forms - 编辑现有实体时导航 CrueFormFlowBundle

php - 如何在不使用 Composer 的情况下安装 Twig

javascript - 返回确认取消按钮不起作用

symfony - FOS 用户 bundle 表单覆盖

php - 在 FOSUserBundle 中,如何在 REGISTRATION_COMPLETED 事件上初始设置用户角色?

symfony - 在 symfony 中运行 composer install 后动态覆盖 parameters.yml 值