Cssrewrite и подпапки Assetic - PullRequest
       1

Cssrewrite и подпапки Assetic

1 голос
/ 16 февраля 2012

Я использую Assetic и Twig в веб-приложении.Я не использую фреймворк symfony2.

Структура проекта выглядит следующим образом

  • app

    • стилей
    • images
  • www

    • css
    • images

У меня естьэта разметка с использованием тега таблиц стилей Assetic в одном из моих шаблонов:

{% stylesheets 'style/a.css' filter='cssrewrite' output='css/*'%}
   <link href="{{ asset_url }}" rel='stylesheet' type='text/css'>
{% endstylesheets  %}

В настоящее время приложение размещено в http://localhost/myapp/, и к нему можно получить доступ через http://localhost/myapp/www

IЯ написал полосу дампа, которая компилирует мои активы и выводит их в каталоги под www.

В моем CSS я ссылаюсь на мои изображения, используя абсолютные пути (что работает):

#myelement{
  background: url('/app/www/images/b.png') no-repeat;
}

Если я использую относительный путь (с фильтром cssrewrite), URL не переписывается:

#myelement{
  background: url('images/b.png') no-repeat;
}

Я хотел бы использовать свой URL как просто images/b.png, а затем позволить сборщику сборок определить полныйпуть.

Я включил фильтр cssrewrite, но, похоже, он ничего не делает.Как я могу указать относительный путь в моем CSS и заставить cssrewrite переписать его в абсолютный путь?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2014

Я обнаружил, что абсолютные пути не переписываются.URL ('/ images / foo.png') не переписывается.... но ... url ('../ images / foo.png') делает ... Я не пробовал:

url ('./ images / foo.png') - ноЯ ожидаю, что это перепишет.

У меня было много разочарований по этому поводу, но я думаю, что в ретроспективе это имеет смысл.

Документация на сайте Symfony2 говорит об этом ... ноего легко не заметить.

0 голосов
/ 18 февраля 2012

Оказывается, мне не нужно было использовать cssrewrite.

Так как CSS загружает изображения относительно файла CSS, я просто сделал ../images/image.png.Это гораздо более простое решение, но я до сих пор не понял, как работает cssrewrite.

...