5

我正在尝试了解 symfony2 资产包。我正在尝试使用一个使用它自己的 css 文件的 jquery 插件。我已经把所有东西都放进去了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 %}

Assetic 生成的路径是/app_dev.php/css/mycss.css,我猜这是正确的。显然,相对图像路径现在不再起作用了。因为文件本身位于 mybundle/Resources/public 而不是 /images/

尝试使用 cssrewrite 过滤器时,路径被重写为: http://server.com/Resources/public/images/sprite.png。但这我不正确,文件不在那里。

我如何使用资产提供相关的图像?

4

1 回答 1

3

您可以拼出输出路径而根本不使用 cssrewrite。

{% stylesheets output="bundles/zaysoarbiter/css/forms2.css"
    '@ZaysoArbiterBundle/Resources/public/css/forms2.css'
%}

然后当然您assets:install可以将图像复制到web/bundles/bundle/images任何地方或任何地方。就浏览器而言,您的 css 和图像现在相对于彼此定位。在生产中,您将使用assetic:dump移动实际生成的 css 文件。

于 2012-02-29T17:38:22.667 回答