我在 Web 应用程序中使用 Assetic 和 Twig。我没有使用 symfony2 框架。
元素结构是这样的
应用
- 风格
- 图片
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 访问它
我已经编写了一个转储条来编译我的 Assets 并将它们转储到 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
,然后让 assetic dumper 确定完整路径。
我已经启用了 cssrewrite 过滤器,但它似乎没有做任何事情。如何在我的 CSS 中提供相对路径并让 cssrewrite 将其重写为绝对路径?
最佳答案
事实证明我不必使用 cssrewrite。
由于 CSS 会加载与 CSS 文件相关的图像,因此我只是执行了 ../images/image.png
。这是一个更简单的解决方案,但我仍然没有弄清楚 cssrewrite 是如何工作的。
关于css - Assetic 的 cssrewrite 和子文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303329/