Assetic (с Symfony 2) изменяет имя файлов изображений, когда запускается «сборка: дамп»

Всякий раз, когда я запускаю команду php app/console assetic:dump все мои активы (CSS, JavaScript, изображения) успешно помещены в web/ папка. Единственная проблема, с которой я сталкиваюсь, заключается в том, что Assetic меняет имена файлов изображений, предположительно для целей очистки кэша, что мешает изображениям, на которые есть ссылки в моих файлах css.

Когда я вручную помещаю изображение в web/images/masthead-4.jpg, это появляется правильно. Я хотел бы, чтобы кэш разрушался на изображениях, если это возможно. Я бы предпочел, чтобы одно из этих решений работало:

  • Я использую обработанное изображение в своем правиле CSS, например,

    .is--site_landing {
    background: transparent url('../images/d755b65-aa84794_masthead-4_1-86f4322.jpg') top center no-repeat;
    background-size: cover;
    }

  • Получите изображения для передачи из приложения / Resources / public / images в
    Веб / изображения, не имея Assetic изменить имя файла?

Мои изображения находятся в %kernel.root_dir%/app/Resources/public/images,
Например, скажем, у меня есть файл %kernel.root_dir%/app/Resources/public/images/masthead-4.jpg,


Выход из php app/console assetic:dump для файла изображения есть:

20:22:40 [file+] /our_stuff/admin/symfony/app/../web/images/d755b65-aa84794.jpg
20:22:40 [file+] /our_stuff/admin/symfony/app/../web/images/d755b65-aa84794_masthead-4_1-86f4322.jpg

Теперь, когда файл назван d755b65-aa84794_masthead-4_1-86f4322.jpg или же d755b65-aa84794.jpg мое правило css для фонового изображения не находит изображение.


Мое фоновое правило CSS находится в %kernel.root_dir%/app/Resources/public/images

    .is--site_landing {
background: transparent url('../images/masthead-4.jpg') top center no-repeat;
background-size: cover;
}

Мой заголовок в файле макета Twig:

{% stylesheets
'css/style.css.scss'
filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}">
{% endstylesheets %}

{% javascripts
'js/jquery-1.11.2.min.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}

{%image
'images/masthead-4.jpg'
%}
{% endimage %}

Дополнительная информация:
Я бегу:

  • PHP 5.3.3
  • Symfony 3.3
  • сборка-сборка ~ 2.3

3

Решение

Активик предназначен для переработки активов. Не используйте его для изображений, если вам не нравится обрабатывать ваши изображения.

Во-первых, удалите это, вам это не нужно.

{%image
'images/masthead-4.jpg'
%}
{% endimage %}

Далее используйте php app/console assets:install --symlink для создания символической ссылки в web папка. Таким образом, ваш файл CSS может получить доступ к файлу изображения.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector