13

我正在尝试在树枝模板中链接一个 css 文件(位于一个包中):

{% stylesheets 
    '@AcmeFooBundle/Resources/public/css/bootstrap.min.css' 
%}
    <link href="{{ asset_url }}" rel="stylesheet"/>
{% endstylesheets %}

我收到的第一条错误消息是:

您必须将 AcmeFooBundle 添加到assetic.bundle 配置...

这是配置:

# Assetic Configuration
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

然后我尝试在bundles指令中添加 AcmeFooBundle 但随后出现错误:

找不到文件....

我不明白我在这里做错了什么......

在控制台中转储资产配置的默认配置(使用php app/console config:dump-referenceassetic )我可以看到捆绑指令中列出的 AcmeFooBundle 捆绑...

4

3 回答 3

28

除非您需要将 Assetic 的某些捆绑包列入白名单,否则只需bundles从配置中删除该选项即可。

于 2012-04-30T04:13:58.337 回答
14

以下对我有用:

  1. 创建捆绑包,例如:

    php app/console generate:bundle --namespace=Acme/Bundle/BlogBundle --no-interaction
    

    请参阅:生成新的捆绑包骨架

  2. 添加 Assetic 导入,如下所示:

    {% javascripts '@AcmeBlogBundle/Resources/public/js/*' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}
    
  3. 将 Bundle 添加到资产配置:

    # Assetic Configuration
    assetic:
        ...
        bundles:        ['AcmeBlogBundle']
        ...
    
于 2012-12-26T14:44:38.823 回答
3

我遇到了同样的问题,elnur 的建议奏效了。这是我的资产配置供您参考

# Assetic Configuration
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"
        yui_js:
            jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
于 2012-07-28T05:14:29.000 回答