2014-02-26 35 views
0

我正在尝试使用Assetic来包含我的基础CSS和js资产,这些资产并未捆绑在一起。他们位于MySymfonyApp/app/Resources/public/css/MySymfonyApp/app/Resources/public/js/包括不在捆绑中的symfony基础资产

我在base.html.twig模板下面,但我发现404

{% stylesheets '%kernel.root_dir%/Resources/public/css/*' %} 
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
{% endstylesheets %} 

    {% javascripts 
     '%kernel.root_dir%/Resources/public/js/jQuery.js' 
     '%kernel.root_dir%/Resources/public/js/*' %} 
     <script src="{{ asset_url }}"></script> 
    {% endjavascripts %} 

我也试着用同样的结果如下。

{% stylesheets '../app/Resources/public/css/*' %} 
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
{% endstylesheets %} 

我如何引用未绑定的资产?

回答

1

解决方案:

资产app/Resources/public/*是一种特殊情况。他们可以轻松管理。

这些将所有被复制(或符号链接),以web/public/*如果你调用控制台命令:

app/console assets:install web 

......或者......

app/console assets:install web --symlink 

现在的资产可以是直接包含在web文件夹中。

<script src="{{ asset('js/jquery.js') }}"></script> 

提示:

如果您需要从相对于内核ROOTDIR其他目录获取资产。

你可以做这样的事情:

# app/config/config.yml 
assetic: 
    assets: 
     css_boostrap: 
      inputs: 
       - %kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.min.css 
       - %kernel.root_dir%/../vendor/myself/bootstrap-theme/*.css 
     js_jquery: 
      inputs: 
       - %kernel.root_dir%/Resources/public/js/jquery.min.js 

现在执行控制台命令

app/console assetic:dump 

...并把它们包含在你的模板之一:

{% stylesheets '@css_boostrap' %} 
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" /> 
{% endstylesheets %}