Webp

Главные вкладки

Аватар пользователя Babich Babich 12 июля 2022 в 14:00

Всем здравствуйте, решил перейти на формат изображений Webp. Тем более начиная в Drupal 9.2 из коробки можно конвертировать в webp формат. https://gorannikolovski.com/blog/drupal-92-will-support-webp-images-out-box

Но, проблема в том, как я понял, изображения начинают генерироваться только по запросу. Получается я добавляю товар и нужно несколько раз его открыть и все его фото, чтобы они сгенерировались? Как выйти из этой ситуации?

Лучший ответ

Аватар пользователя Babich Babich 22 июля 2022 в 13:01

Нашел ошибку. Весь сыр-бор был из-за модуля Imagefield tokens выключил его и все заработало стабильно.

Комментарии

Аватар пользователя marassa marassa 12 июля 2022 в 14:20

Babich wrote: решил перейти на формат изображений Webp

Что конкретно Вы имеете в виду под "перейти"? Запретить загрузку новых изображений в других форматах? Сделать так, чтобы все новые загружаемые оригиналы изображений автоматически конвертировались в webp? Пакетно конвертировать все несметные тыщи ранее загруженных изображений в webp? Сделать так, чтобы стилизованные изображения/миниатюры генерировались в формате webp, не трогая оригиналы? Статья (просмотрел по диагонали) вроде бы посвящена исключительно последнему. А стилизованные изображения всегда генерились только по запросу, независимо от формата.

Аватар пользователя Babich Babich 12 июля 2022 в 14:33

Если по полочкам.
У меня изображения выводятся через responsive image который из коробки
Точки останова (5 вариантов) в зависимости от разрешения экрана пользователя.
Сначала изображение конвертируется в webp затем ресайзится под размер.
Когда я добавляю новый товар (ноду) загружаю несколько изображений и сохраняю. Изображения отсутствуют. Чтобы они загрузились, нужно каждое изображение открывать вручную? Просто когда был просто .jpg такой задержки я не замечал.

Аватар пользователя marassa marassa 12 июля 2022 в 14:43

Babich wrote: responsive image

Опять же сам не пользуюсь, но насколько я понимаю оно ведь работает через image styles? Изображения в каждом стиле должны генерироваться при первом обращении к странице, содержащей данное изображение в данном стиле. Обычно это делается очень быстро, но если картинок много, а сервер слабый или перегружен, то бывает, что Друпал не успевает сгенерить все картинки за приемлемое время. Если после загрузки оригинала картинки вообще не показываются никакие, то это какая-то ошибка. Надо убедиться, что тулкит (GD?) поддерживает webp, смотреть что в логах.

Аватар пользователя Babich Babich 12 июля 2022 в 14:51

GD. В логах все хорошо. Я не упомянул. Еще фото открывается через photoswipe. Так вот, нужно добавить товар, затем обновить страницу и каждую открыть в photoswipe, чтобы генерация прошла? Так получается. Или ждать, пока это сделает пользователь?

Аватар пользователя marassa marassa 12 июля 2022 в 15:10

Если изображение в данном стиле открывается только в photoswipe, то да - пока кто-то в первый раз не откроет его в photoswipe, оно не сгенерируется. Ну а самому это делать или доверить первому посетителю - вопрос философский. Если это почему-то делается очень медленно или не с первого раза, то тут надо с сервером разобраться. Можете более подробно описать суть проблемы? Что именно происходит не так с т.з. пользователя?

Аватар пользователя Babich Babich 12 июля 2022 в 19:23

Добавляем новый товар (ноду). Загружаем фото. Сохраняем. Каталог (список) товаров выводится с помощью views. У вновь загруженных товаров не появляется фото, просто белый квадрат. После нескольких обновлений страницы появляются фото во views. Затем переходим в карточку товар, там производим такую же процедуру. Затем открываем в photoswipe и повторяем обновление страницы, пока не появится фото. Вот такие танцы.

Аватар пользователя marassa marassa 12 июля 2022 в 20:30

Чудеса! И в логе пусто? Единственное, что приходит в голову - невероятно тормозной или чем-то очень загруженный сервер.
А если убрать из стайлов преобразование в webp, всё быстро работает? Я не знаю есть ли у GD CLI - можно попробовать из командной строки позапускать преобразование jpg->webp и посмотреть сколько времени это занимает?

Аватар пользователя Babich Babich 15 июля 2022 в 8:35

Выставил права 755 на папки, в которых файлы изображений. Генерироваться вроде стали быстрее. Обновить изображения можно командой Drush drush image-flush --all ; drush cr

Аватар пользователя marassa marassa 15 июля 2022 в 9:34

Странно это. Если бы права были негодными, то вообще не генерировались бы ни webp, ни jpg. И каким образом установка годных прав может повлиять на скорость - непонятно.