我正在尝试了解symfony2资产包。
我正在尝试使用一个jquery插件,它使用它自己的css文件。我已将所有内容放入mybundle/Resources/public
,然后拆分为images / javascript /和css /
插件css使用相对路径来获取像../images/sprite.png
使用assetic来提供css文件:
{% stylesheets
'@MyBundle/Resources/public/css/mycss.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
资产生成的路径为/app_dev.php/css/mycss.css
,我猜是正确的。显然,现在相对的图像不再起作用了。因为文件本身位于mybundle / Resources / public而不是/ images /
尝试使用cssrewrite过滤器时,pathes会被重写为:
http://server.com/Resources/public/images/sprite.png
。但我不正确,文件不在那里。
我如何使用资产相对地提供图像?
答案 0 :(得分:4)
您可以拼出输出路径,而不是使用cssrewrite。
{% stylesheets output="bundles/zaysoarbiter/css/forms2.css"
'@ZaysoArbiterBundle/Resources/public/css/forms2.css'
%}
当然,您使用assets:install
将图片复制到web/bundles/bundle/images
或任何地方。就浏览器而言,您的css和图像现在相对于彼此定位。在生产中,您将使用assetic:dump
移动实际生成的css文件。