首页 文章

Assetic的cssrewrite和子文件夹

提问于
浏览
1

我在Web应用程序中使用Assetic和Twig . 我没有使用symfony2框架 .

项目结构如下所示

  • app

  • 款式

  • 图片

  • www

  • css

  • 图片

我在我的一个模板中使用Assetic样式表标记有这个标记:

{% stylesheets 'style/a.css' filter='cssrewrite' output='css/*'%}
   <link href="{{ asset_url }}" rel='stylesheet' type='text/css'>
{% endstylesheets  %}

目前该应用程序托管在http://localhost/myapp/,一个可以通过http://localhost/myapp/www访问它

我编写了一个转储条,它编译我的资产并将它们转储到 www 下的目录中 .

在我的CSS中,我使用绝对路径引用我的图像(这是有效的):

#myelement{
  background: url('/app/www/images/b.png') no-repeat;
}

如果我使用相对路径(使用cssrewrite过滤器),则不会重写URL:

#myelement{
  background: url('images/b.png') no-repeat;
}

我想将我的URL用作 images/b.png ,然后让资产转储器确定完整路径 .

我已经启用了cssrewrite过滤器,但它似乎没有做任何事情 . 如何在CSS中提供相对路径并让cssrewrite将其重写为绝对路径?

2 回答

  • 0

    事实证明我没有必要使用cssrewrite .

    由于CSS加载相对于CSS文件的图像,我只是做了 ../images/image.png . 这是一个更简单的解决方案,但我还没有弄清楚cssrewrite是如何工作的 .

  • 0

    我发现绝对路径不会重写 . url('/ images / foo.png')不会重写 . ...但是... url('../ images / foo.png')确实......我没试过:

    url('./ images / foo.png') - 但我希望这会重写 .

    我对此感到非常沮丧,但我认为事后才有意义 .

    Symfony2网站上的文档确实说明了......但很容易被忽视 .

相关问题