Sto*_*son 12 css less symfony twig assetic
重写后cssrewrite过滤器生成错误的URL:我的包含一个.less文件位于 Resources/public/less/common.less
我还有一个图像,位于Resources/public/images/colorfulbg.jpg中
我从命令行运行:
php app/console assets:install web --symlink
Run Code Online (Sandbox Code Playgroud)
它在web目录中生成正确的公共结构:
web
+--bundles
+--mybundle
+--less
| +--common.less
|
+--images
+--colorfulbg.jpg
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我有以下内容:
{% stylesheets 'bundles/mybundle/less/*' filter='cssrewrite,less' %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
该文件夹只包含一个.less文件,简单地说:
@bg: #f4f4f4;
body
{
background-image: @bg url(../images/colorfulbg.jpg);
}
Run Code Online (Sandbox Code Playgroud)
有一些错误,因为重写的背景路径是:
url(../../bundles/mybundle/images/colorfulbg.jpg);
Run Code Online (Sandbox Code Playgroud)
因此不适用背景
我究竟做错了什么?
我正在使用symfony 2.3和资产包2.3谢谢
Kon*_*ski -3
这是一个常见问题,我建议你不要使用 cssrewrite 过滤器并/在开头使用 urls
url("/bundles/mybundle/images/colorfulbg.jpg");
Run Code Online (Sandbox Code Playgroud)
当然这种方法有一个缺点,即网站必须安装在域的根目录中,但说实话我还没有看到 Symfony 项目安装在子目录中。