Путь ресурсов в файлах 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
.
Есть ли лучшее и рабочее решение?