Путь ресурсов в файлах CSS в Symfony 2

проблема

у меня естьCSS файл с некоторыми путями в нем (для изображений, шрифтов и т. д.url(..)).

Моя структура пути такая:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-images/
|   +-images...
...

Я хочу сослаться на мои изображения в таблице стилей.

Первое решение

Я изменил все пути в файле CSS на абсолютные пути. Это не решение, так как приложение должно (и должно!) Работать и в подкаталоге.

Второе решение

Используйте Assetic сfilter="cssrewrite".

Поэтому я изменил все мои пути в моем файле CSS на

url("../../../../../../web/images/myimage.png")

представлять фактический путь от моего каталога ресурсов к/web/images каталог. Это не работает, так как cssrewrite создает следующий код:

url("../../Resources/assets/")

что, очевидно, неправильный путь.

Послеassetic:dump этот путь создан, что по-прежнему неверно:

url("../../../web/images/myimage.png")

Код веточки Assetic:

{% stylesheets
    '@MyCompanyMyBundle/Resources/assets/css/*.css'
    filter="cssrewrite"
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Текущее (третье) решение

Поскольку все файлы CSS в конечном итоге в/web/css/stylexyz.cssЯ изменил все пути в файле CSS, чтобы они были относительными:

url("../images/myimage.png")

Это (плохое) решение работает, кроме как вdev среда: путь CSS/app_dev.php/css/stylexyz.css и, следовательно, путь изображения в результате этого/app_dev.php/images/myimage.pngчто приводит кNotFoundHttpException.

Есть ли лучшее и рабочее решение?

Ответы на вопрос(6)

Ваш ответ на вопрос