Я пытаюсь понять symfony2 assetic bundle. Я пытаюсь использовать плагин 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 %}
Путь, созданный assetic, – /app_dev.php/css/mycss.css
, что верно, я думаю. Очевидно, что относительные образы изображений теперь больше не работают. Поскольку сами файлы находятся в mybundle / Resources / public, а не в / images /
При попытке использовать фильтр cssrewrite, исправления переписываются на: http://img.ruphp.com/assetic/sprite.png
. Но это я не правильно, файлы там не расположены.
Как я могу служить относительным изображениям, используя assetic?
Вы можете указать путь вывода, а не использовать cssrewrite.
{% stylesheets output="bundles/zaysoarbiter/css/forms2.css" '@ZaysoArbiterBundle/Resources/public/css/forms2.css' %}
И тогда, конечно, вы используете assets:install
чтобы скопировать свои изображения на web/bundles/bundle/images
или где угодно. Что касается браузера, ваши css и изображения теперь расположены относительно друг друга. В производстве вы будете использовать assetic:dump
для перемещения фактического сгенерированного файла css.