Symfony2模板不支持" bundle"参数

时间:2015-01-09 12:43:35

标签: php symfony twig assets assetic

我正在和朋友一起开展一个项目,使用git。昨天,一个朋友推了一些相对于他的包的东西,但是在我拉它之后,我收到了这个奇怪的错误信息

在编译模板期间抛出了异常(“模板不支持”layout.html.twig“中的”bundle“参数。”)。

我发现它与资产相关联(我试图删除所有资产并且它再次起作用,但没有js或css文件)并且它正在我的所有页面上进行。

关键是,它对我不起作用,但它适用于他。现在,我尝试了cache:clear无数次,doctrine:schema:update。我只是想知道这个错误的原因是什么,为什么突然没有这样做,以及我能做些什么......

我已经尝试了this,即使这不是我的问题,也不行。这是我在config.yml中的资产配置,即使没有修改

assetic:
debug:          "%kernel.debug%"
use_controller: false
bundles:        []

#java: /usr/bin/java
filters:
    cssrewrite: ~
    #closure:
    #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
    #yui_css:
    #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
assets:
    jquery: %kernel.root_dir%/../vendor/components/jquery/jquery.min.js

非常感谢你的帮助!

编辑:我的问题似乎在哪里

问题不会出现在{%extends%}中,或者至少现在不会出现。它出现在

{% stylesheets '@AppBundle/Resources/public/css/*' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

{% javascripts
    '@AppBundle/Resources/public/js/alwaysIncluded/*'
    '@AppBundle/Resources/public/js/layout.js'
%}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

我尝试删除 @ ,但它没有改变任何内容。

第二次修改

Complete config.yml文件(托管在Dropbox上导致它是一个大文件,可以将其上传到更好的内容上,也可以根据需要将其全部发布)

3 个答案:

答案 0 :(得分:6)

以下语法不再适用Symfony 2.6.3及其默认要求。

如果您想继续使用Symfony 2.6.3而不更改资产要求(在生产中使用dev-master绝对不是一个好主意......)

更改(@xxx):

{% extends '@MyBundle/layout.html.twig' %}

要:

{% extends 'MyBundle::layout.html.twig' %}

Symfony 2.6.3保持一致,并按照接受的答案中的建议使用dev-master的{​​{1}}要求。

切换回assetic-bundle,我认为此问题(以及资产要求)将在Symfony 2.6.1中修复。

查看the issue on Github

答案 1 :(得分:5)

您需要按如下方式更新您的composer.json:

    "symfony/symfony": "~2.6",
    "symfony/assetic-bundle": "dev-master",

错误来自版本2.5.0中的资产。开发版本对此进行了更正,如下所述: https://github.com/Spea/SpBowerBundle/issues/119

答案 2 :(得分:2)

如果您尝试在其中一个模板中加入base.html.twig,请执行以下操作:

{% extends 'base.html.twig' %}

您需要将其更改为:

{% extends '::base.html.twig' %}

More information here.