Php Symfony 2.1-加载资产时出现问题以及assetic引发的异常

Php Symfony 2.1-加载资产时出现问题以及assetic引发的异常,php,exception,twig,symfony-2.1,assetic,Php,Exception,Twig,Symfony 2.1,Assetic,这有点令人沮丧。根据Symfony最佳实践,捆绑包的web资产(图像、css、js)应该放在src/vendor/path/to/bundle/Resources/public中。运行app/console assets:install将该公用文件夹的内容复制到web/bundles/bundlename。在官方文档中,显示了用于获取这些资产的细枝模板,代码如下: {% block stylesheets %} <link rel="stylesheet" type="text/c

这有点令人沮丧。根据Symfony最佳实践,捆绑包的web资产(图像、css、js)应该放在
src/vendor/path/to/bundle/Resources/public
中。运行
app/console assets:install
将该公用文件夹的内容复制到
web/bundles/bundlename
。在官方文档中,显示了用于获取这些资产的细枝模板,代码如下:

{% block stylesheets %}
    <link rel="stylesheet" type="text/css" href="{{ asset('/css/styles.css') }}
{% endblock %}
但有以下例外:

编译“/Home/kevin/www/src/mybundle/Resources/views/Home/index.html.twig”中的模板时引发异常(“必须将mybundle添加到assetic.bundle配置中,才能使用mybundle:Home:index.html.twig.”中的{%stylesheets%}标记)

这使得它看起来应该是开箱即用的,不需要配置

因此,TLDR:

  • 我是否不明白应该如何加载资产
  • 如何处理assetic异常

  • 要修复assetic异常,您需要在config.yml中配置包,如下所示:

    assetic:
        bundles: [ MyAwesomeBundle ]
    
    {{asset(…)}}
    twig函数将提供与web根目录相关的文件


    您可以使用
    app/console-assets:install
    在您的web根目录中安装静态资产,稍后您可以使用类似于
    {asset('/mybundle/css/site.css')}}

    的资产功能轻松地指向它们,如下图所示:

    assetic:
        bundles: [ MyAwesomeBundle ]
    
    {{asset(…)}}
    twig函数将提供与web根目录相关的文件

    您可以使用
    app/console-assets:install
    在您的web根目录中安装静态资产,稍后您可以使用类似于
    {asset('/mybundle/css/site.css')}}的资产函数轻松地指向它们