如何在Symfony 2 yml或xml配置文件中定义Assetic资源?

Kar*_*lis 6 symfony1 asset-management

您能在配置文件(yml/xml)中定义资产资源吗?

让我们以jquery为例.我希望有这样的配置:

# app/config/config.yml
assetic:
  resources:
     jquery: 
        latest: "app/Resources/js/jquery-1.6.2.js"
        1_6_2: "app/Resources/js/jquery-1.6.2.js"
        1_5: "app/Resources/js/jquery-1.5.js"
Run Code Online (Sandbox Code Playgroud)

并且能够从我的应用程序中的任何模板访问此资源,如下所示:

{% javascripts 'jquery.latest' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

另一件事.如何在twig模板中引用路径app/Resources/js/jquery-1.6.2.js?

{% javascripts 'app/Resources/js/jquery-1.6.2.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)

这不起作用.你能做到吗?我可以在app/Resources中放置哪些资源以及如何在模板中访问它们?哪里有记录?

现在Symfony 2真的缺乏文档......

小智 0

我想你想要类似的东西

{% javascripts '@NameOfYourBundle/path/from/bundle/root/to/jquery-1.6.2.js' %}
Run Code Online (Sandbox Code Playgroud)

  • 这适用于捆绑资源,但不适用于驻留在 /app/Resources 目录中的全局资源。也许这是设计使然,只是为了将事物分开。但是您可以在 twig 中像这样引用全局模板 app/Resources/view/base.html.twig:{% extends '::base.html.twig' %}。那么为什么它不适用于 {% stylesheets %} 中的 css 呢? (2认同)