我有一个看起来像这样的目录结构,使用bower作为前端的东西:
app/Resources/public
bower_components
jquery
lightbox
...
css
base.css
app/Resources/views
layouts
admin
base.html.twig
site
base.html.twig
后来我使用苦行僧来发布所有文件,但是GETS发布的文件只是文件中引用的文件,例如:
...
{% stylesheets
'../app/Resources/public/bower_components/normalize-css/normalize.css'
'../app/Resources/public/css/base.css'
'../app/Resources/public/bower_components/bootstrap/dist/css/bootstrap.min.css'
'../app/Resources/public/bower_components/lightbox/css/lightbox.css' filter='cssrewrite,?uglifycss' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
...
所有文件都没有问题,只是lightbox.css尝试访问位于app/Resources/public/bower_components/lightbox/img
内的图片,后来被归结为http://something.com/app/Resources/public/bower_components/lightbox/img/close.png
,这是无法访问的,应该引用网络目录,我知道这可以通过在捆绑中包含bower组件,或者将shit移动到一个或另一个地方来解决,我只是问是否有适当的Symfony2 /资产方式来解决这个问题,比如发布特定的img文件夹和以这种方式引用它?
答案 0 :(得分:0)
您需要添加cssrewrite
过滤器来重写css
并修复图片问题,请检查:
http://symfony.com/doc/current/cookbook/assetic/asset_management.html#cookbook-assetic-cssrewrite