我正在和朋友一起开展一个项目,使用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上导致它是一个大文件,可以将其上传到更好的内容上,也可以根据需要将其全部发布)
答案 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
中修复。
答案 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' %}