AsseticBundle提供了定义命名资产in the Symfony's configuration file的可能性。如何使用{% javascripts %}
和{% stylesheets %}
Twig标记在Twig模板中引用它们?
Symfony's own Assetic documentation仅提及@BundleName/Resources/file.cs
包含捆绑资产的特殊表示法,但不提及指定资产。
问题Symfony2: How to properly include assets in conjunction with Twig template inheritance?在评论中有一个简短的提及,这是可能的,但没有说明如何做。
仅使用资产的名称(如Assetic's own Readme中的jquery
)不起作用。 Assetic试图查看显然不存在的文件web/jquery
。
答案 0 :(得分:1)
简短版本: 在模板中使用“@name”:
版本较长:
如果您的资产配置如下所示:
[config.yml]
assetic:
assets:
bootstrap_css:
inputs:
- %kernel.root_dir%/../web/components/bootstrap/css/bootstrap.css
- %kernel.root_dir%/../web/components/bootstrap/css/bootstrap-theme.css
jquery_ui_css:
....
现在您可以在模板中使用它,例如在base.html.twig
中<html><head>
...
{% stylesheets output='compiled/main.css'
"@bootstrap_css"
"@jqueryui_css"
...etc
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
</head></html
这个也定义了那里的所有css应该连接到编译目录中的一个main.css文件中。