【问题标题】:Symfony2 the template does not support the "bundle" parameterSymfony2 模板不支持“bundle”参数
【发布时间】:2015-03-07 18:59:33
【问题描述】:

我正在和朋友一起做一个项目,使用 git。昨天一个朋友推了一些他的bundle相关的东西,但是我拉了之后,我得到了这个奇怪的错误信息

在“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 上,因为它是一个大文件,如果需要,可以将其上传到更好的内容或发布完整长度)

【问题讨论】:

  • 你能发布整个 config.yml 文件吗?
  • 您还必须将第一个“/”修改为:我认为。
  • 刚试过,也试过用/web目录下的css,也不管用...
  • 同样的问题,我没有任何 @Bundle 注释,我已经实现了整个 AppBundle 理念,我也有这个错误。恢复到 2.6.1

标签: php symfony twig assets assetic


【解决方案1】:

以下语法不再适用于 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,并按照接受的答案中的建议使用assetic-bundledev-master 要求。

或者切换回Symfony 2.6.1,我想这个问题(以及资产要求)将在Symfony 2.6.4 中得到解决。

查看the issue on Github

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      如果您尝试从您的模板之一中包含base.html.twig,如下所示:

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

      你需要把它改成这样:

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

      More information here.

      【讨论】:

        猜你喜欢
        • 2014-07-27
        • 2011-12-14
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多