2011-08-03 44 views
6

您可以在配置文件(yml/xml)中定义资产资源吗?如何在Symfony 2 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" 

,并能够从任何模板访问该资源在我的应用程序是这样的:

{% javascripts 'jquery.latest' %} 
<script type="text/javascript" src="{{ asset_url }}"></script> 
{% endjavascripts %} 

什么是做一个适当的方式?

另一件事。如何在树枝模板中引用路径应用/ 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 %} 

这是行不通的。你能做到这一点吗?我可以在app/Resources中放置哪些资源,以及如何在我的模板中访问它们?记录在哪里?

眼下的Symfony 2在文档非常缺乏...

+0

在这里你可以找到答案,你的第一个问题 http://stackoverflow.com/a/10840936/2880092 – draev

回答

0

我想你想沿着

{% javascripts '@NameOfYourBundle/path/from/bundle/root/to/jquery-1.6.2.js' %} 
+2

,对于捆绑资源的工作,而不是驻留在/ app/resources目录全球资源。也许这是设计,只是为了让事情分开。但是您可以在twig中像这样引用全局模板app/Resources/view/base.html.twig:{%extends':: base.html.twig'%}。那么为什么它不适用于{%stylesheets%}中的css? – Karolis

4

线的东西在你的应用程序定义资源的路径/资源文件夹必须使用规定尾随:“../”

{% javascripts 
    "../app/Resources/js/qtip.jquery.js" 
    "../app/Resources/js/layout.js" 
    "@HomeBundle/Resources/js/*" 
%} 

不完全确定如何帮助您解决第一个问题,但希望这可以提供帮助。