我正在玩Symfony2,我在Twig模板中遇到包括CSS和JS文件的问题.
我有一个名为包Webs/HomeBundle里面,我有HomeController带indexAction呈现一个树枝模板文件:
public function indexAction()
{
return $this->render("WebsHomeBundle:Home:index.html.twig");
}
Run Code Online (Sandbox Code Playgroud)
所以这很容易.现在我想要做的是在这个Twig模板中包含一些CSS和JS文件.模板看起来像这样:
<!DOCTYPE html>
<html>
<head>
{% block stylesheets %}
<link href="{{ asset('css/main.css') }}" type="text/css" rel="stylesheet" />
{% endblock %}
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想要包含的main.css文件,文件位于:
Webs/HomeController/Resources/public/css/main.css
Run Code Online (Sandbox Code Playgroud)
所以我的问题基本上就是如何在Twig模板中包含简单的CSS文件?
我正在使用Twig asset()功能,它只是没有找到正确的CSS路径.另外,我在控制台中运行此命令:
app/console assets:install web
Run Code Online (Sandbox Code Playgroud)
这创建了一个新文件夹
/web/bundles/webshome/...
Run Code Online (Sandbox Code Playgroud)
这只是链接到
src/Webs/HomeController/Resources/public/
Run Code Online (Sandbox Code Playgroud)
对?
Bundle/Resources/public文件夹中可以吗?这是他们的合适位置吗?Vit*_*ian 76
除了将捆绑路径传递给asset()函数之外,您正在做正确的事情.
根据文档 - 在您的示例中,这应如下所示:
{{ asset('bundles/webshome/css/main.css') }}
Run Code Online (Sandbox Code Playgroud)
提示:您还可以调用资产:使用--symlink密钥安装,因此它将在Web文件夹中创建符号链接.当您经常应用js或css更改时,这非常有用(以这种方式,您应用的更改src/YouBundle/Resources/public将立即反映在web文件夹中而无需assets:install再次调用):
app/console assets:install web --symlink
Run Code Online (Sandbox Code Playgroud)
此外,如果您希望在子模板中添加一些资源,可以调用parent()Twig块的方法.在你的情况下,它将是这样的:
{% block stylesheets %}
{{ parent() }}
<link href="{{ asset('bundles/webshome/css/main.css') }}" rel="stylesheet">
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
Zhu*_*ukV 12
并且您可以使用%stylesheets%(资产特征)标记:
{% stylesheets
"@MainBundle/Resources/public/colorbox/colorbox.css"
"%kerner.root_dir%/Resources/css/main.css"
%}
<link type="text/css" rel="stylesheet" media="all" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
您可以将css的路径写为参数(%parameter_name%).
有关此变体的更多信息:http://symfony.com/doc/current/cookbook/assetic/asset_management.html
| 归档时间: |
|
| 查看次数: |
102584 次 |
| 最近记录: |