【发布时间】:2012-07-03 23:39:55
【问题描述】:
我在现有项目中使用 Symfony2 和资产,但我不知道如何在我的 CSS 中引用图像。我已将图片放入:src/Organisation/MyBundle/Resources/public/images/
运行资产安装后:php app/console assets:install public
我可以在浏览器中正确加载它们:http://sitename/bundles/organisationmy/images/logo.png
但是,当我尝试在 CSS 中指向它们时,使用:url('/bundles/organisationmy/images/logo.png')
使用萤火虫检查,网址更改为:url('/web/bundles/organisationmy/images/logo.png'),导致 404。
在我的主模板中:
{% stylesheets filter='yui_css' output='css/output.css'
'@MyBundle/Resources/public/css/bootstrap.min.css'
'@MyBundle/Resources/public/css/bootstrap-responsive.min.css'
'@MyBundle/Resources/public/css/my.css'
%}
在config.yml 我有:
assetic:
debug: %kernel.debug%
use_controller: false
java: /usr/bin/java
filters:
cssrewrite: ~
yui_css:
jar: %kernel.root_dir%/java/yuicompressor-2.4.7.jar
yui_js:
jar: %kernel.root_dir%/java/yuicompressor-2.4.7.jar
在routing.yml 我有:
_assetic:
resource: .
type: assetic
我已经看到这个问题Symfony2 - Assetic - load images in CSS,但我不知道我是否可以以及如何同时使用filter='cssrewrite' 和filter='yui_css',或者如何解决问题。
基本上,如果我可以阻止 Symfony2 为我的 CSS 图像路径添加 /web/ 前缀,问题就会得到解决。或者,有谁知道在 Symfony2 中解决这个问题的正确方法是什么?
更新:我注意到即使我输入 url('something.png') 加载页面时 CSS 也不会再更新,所以我可能搞砸了通过命令行,我还给出了类似php app/console assetic:dump 的命令——如何回到正常的开发风格修改 CSS 并重新加载页面?
UPDATE2:我发现php app/console assetic:dump --watch 会在资产更改时自动更新它们。
【问题讨论】:
标签: css image symfony yui-compressor