Обслуживание относительных изображений с использованием сборок - PullRequest
5 голосов
/ 29 февраля 2012

Я пытаюсь понять сборочный пакет symfony2. Я пытаюсь использовать плагин jquery, который использует свой собственный файл CSS. Я положил все в mybundle/Resources/public, а затем разделил на images / javascript / и css /

Плагины CSS используют относительные пути для получения изображений, таких как ../images/sprite.png

Использование ассемблера для обслуживания файла 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 пути переписываются в: http://server.com/Resources/public/images/sprite.png. Но это я не правильно, файлы там не расположены.

Как я могу обслуживать изображения относительно использования сборок?

1 Ответ

4 голосов
/ 29 февраля 2012

Вы можете прописать выходной путь и вообще не использовать cssrewrite.

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

И затем, конечно, вы используете assets:install для копирования ваших изображений в web/bundles/bundle/images или куда-либо еще.Что касается браузера, ваши CSS и изображения теперь расположены относительно друг друга.В производстве вы будете использовать assetic:dump для перемещения действительного сгенерированного файла CSS.

...