Оптимизация pThumb / phpThumbOn
Здравствуйте.
Столкнулся с такой проблемой. У ресурса есть два tv для изображений: один превью, другой основная картинка. Причем превью на мобильных устройствах через медиазапрос становится главной.
В шаблоне получаем оба поля и обрабатываем их для вставки значений в тэг picture через source. Код такой:
PS Смена pThumb на phpThumbOn прироста вообще не даёт. ModX Revo 2.8.3, PHP 7.4. GD, ImageMagic
Столкнулся с такой проблемой. У ресурса есть два tv для изображений: один превью, другой основная картинка. Причем превью на мобильных устройствах через медиазапрос становится главной.
В шаблоне получаем оба поля и обрабатываем их для вставки значений в тэг picture через source. Код такой:
{set $image = [
'desktop' => $_modx->resource.news_page_img | pThumb: 'w=1080&f=jpg&q=95',
'desktop_2x' => $_modx->resource.news_page_img | pThumb: 'w=2160&f=jpg&q=95',
'tablet' => $_modx->resource.news_page_img | pThumb: 'w=580&f=jpg&q=95',
'tablet_2x' => $_modx->resource.news_page_img | pThumb: 'w=1160&f=jpg&q=95',
'mobile' => $_modx->resource.news_thumb | pThumb: 'w=600&f=jpg&q=95',
'mobile_2x' => $_modx->resource.news_thumb | pThumb: 'w=1200&f=jpg&q=95',
]}
<picture class="news-page__picture">
<source srcset="{$image.mobile}, {$image.mobile_2x} 2x" media="(max-width: 575px)">
<source srcset="{$image.tablet}, {$image.tablet_2x} 2x" media="(max-width: 1199.98px)">
<source srcset="{$image.desktop}, {$image.desktop_2x} 2x" media="(min-width: 1200px)">
<img class="news-page__img" src="{$image.desktop}" alt="{$_modx->resource.pagetitle}" loading="lazy">
</picture>
Проблема заключается в том, что на некоторых ресурсах оптимизация этих изображений может занимать до 25 секунд. Проблема скорее в коде, сервере или изначальных размерах изображений? Такой вопрос. Спасибо.PS Смена pThumb на phpThumbOn прироста вообще не даёт. ModX Revo 2.8.3, PHP 7.4. GD, ImageMagic
Комментарии: 4
Написать плагин, который будет генерировать все превью при сохранении ресурса?
были мысли: повесить его на AJAX, генерировать кэш при сохранении при помощи AdminTools и cacheRegenerator, но последний вроде как всё
Проблема точно в размерах изображений.
1. Плагин на сохранение, сделать два разных источника файлов с настройками кропа (по типу как в минишопе)
2. docs.modmore.com/en/MoreGallery/v1.x/Cropping.html — платный компонент. Правда не помню можно ли там настраивать кропы разные для разных изображений/галерей.
3. В некоторых компаниях, если не хотят заморачиваться с внедрением какой-нибудь фичи, иногда дают регламент работникам, как поступать в том или ином случае. В вашем — контент-менджеру надо будет загружать страницу перед публикацией, чтобы сгенерировались все картинки.
1. Плагин на сохранение, сделать два разных источника файлов с настройками кропа (по типу как в минишопе)
2. docs.modmore.com/en/MoreGallery/v1.x/Cropping.html — платный компонент. Правда не помню можно ли там настраивать кропы разные для разных изображений/галерей.
3. В некоторых компаниях, если не хотят заморачиваться с внедрением какой-нибудь фичи, иногда дают регламент работникам, как поступать в том или ином случае. В вашем — контент-менджеру надо будет загружать страницу перед публикацией, чтобы сгенерировались все картинки.
Плюсом идут языковые версии, в которых данные изображения отличаются
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.