我的symfony2中的图像资源有问题,我将其定义为css文件中的背景。但是,浏览器始终找不到图像。
这是我的样式表从基本布局中阻止:
{% stylesheets '@FsHomeBundle/Resources/public/css/common.css'
'@FsHomeBundle/Resources/public/css/main.css' filter="cssrewrite" %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
{% endstylesheets %}
这是我的css:
.header{
background-image:url('../images/hdbg.png');
}
图片位于src/Fs/HomeBundle/Resources/public/images/hdbg.png
注意:我在没有cssrewrite
过滤器的情况下进行了测试,但它也没有用,我也测试了更改网址。
之前有没有人遇到过这个问题?
编辑还要注意我在/app_dev.php工作,我做了一个资产:install和assetic:dump以及cache:每次进行测试时都清除。
答案 0 :(得分:2)
尝试运行“app / console assets:install web”。
答案 1 :(得分:2)
安装资产后(我建议使用符号链接):
$ php app/console assets:install --symlink
您应该看到如下消息:
…
Installing assets for Fs\HomeBundle into web/bundles/fshome
…
记下web/bundles/fshome
路径之类的路径,并使用该路径代替@Bundle
语法:
{% stylesheets
'bundles/fshome/css/common.css'
'bundles/fshome/css/main.css'
filter="cssrewrite"
%}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}" />
{% endstylesheets %}
现在cssrewrite
应该写出正确的路径。
这是cssrewrite
的已知限制,来自github issues:
cssrewrite过滤器不适用于@bundle表示法 样式表(因为它会重写路径而不会进入 帐户将图像从捆绑包移动到Web文件夹