Другие модули на выбор

Webp - Конвертер изображений в современный формат «на лету»

Стоимость: руб.
Этот компонент мы сможете использовать только при наличии лицензии. Подходящие редакции:

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

Требуется только стандартная установка решения.
После установки нужно активировать модуль в настройках.
Настройки модуля доступны по адресу http://ваш_сайт/bitrix/admin/settings.php?lang=ru&mid=delight.webpconverter

Минимальные технические требования:
- наличие на сервере php библиотеки GD v2.2.5 или выше
Библиотека GD входит в список обязательного ПО для Битрикс, но на сервере может быть установлена устаревшая версия, которая некорректно обрабатывает прозрачные .png. В комплект поставки BitrixVM\BitrixENV уже входит актуальная версия.
В случае использования устаревшей версии библиотеки, после установки модуля будет выведено соответствующее уведомление, а модуль переведен в статус "Не активен".

Для корректной работы модуля в файле header.php вашего шаблона должна вызываться стандартная функция
$APPLICATION->ShowHead();
либо её дочерние функции:
$APPLICATION->ShowHeadStrings();
$APPLICATION->ShowHeadScripts();

Особенности работы модуля:
  • Удаление устаревших изображений (оригиналы которых перестали существовать) производится агентом с периодичностью 1 раз в сутки.

  • Модуль работает только с изображениями в html-коде страницы (в тегах <img>, стилевых атрибутах background и background-image, а также атрибутах lazyload - data-src и т.п.). Изображения прописанные в .js\.css файлах не конвертируются.

  • Поддержка старых браузеров реализована следующим образом: при загрузке страницы скрипт на JS проверяет поддерживает ли браузер формат .webp и если не поддерживает, то подменяет ссылки изображений на оригинальные.

Если у вас установлен дополнительный модуль оптимизации jpg/png изображений:
Предварительное сжатие изображений jpg/png не требуется, т.к. после конвертирования в .webp изображения выходят оптимизированными. Кроме того, не рекомендуется делать предварительное сжатие, т.к. может пострадать качество изображений при конвертировании в .webp стандартной библиотекой GD (решается установкой на сервер другой библиотеки, например gmagick актуальной версии и очисткой папки /upload/delight.webpconverter/).


Если вам требуется вручную конвертировать локальные изображения, вы можете использовать следующую конструкцию:
if(\Bitrix\Main\Loader::includeModule("delight.webpconverter")){ $originalFilePath = "/upload/path_to_file/file_name.jpg"; $destinationFilePath = DelightWebpConverter::ConvertImage($originalFilePath, $originalFilePath.".webp"); } Если нужно вручную конвертировать изображения с использованием CDN:if(\Bitrix\Main\Loader::includeModule("delight.webpconverter")){ $originalFilePath = "https://cdn.domain.ru/upload/path_to_file/file_name.jpg"; $prepareFilePath = DelightWebpConverter::CONVERTED_IMAGES_FOLDER . str_replace(array("http://", "https://", "//"), "/", $originalFilePath . '.webp'); $destinationFilePath = DelightWebpConverter::ConvertImage($originalFilePath, $prepareFilePath); }Если нужно найти изображения и конвертировать их в переменной с HTML-кодом:if(\Bitrix\Main\Loader::includeModule('delight.webpconverter')){ \DelightWebpConverter::DelightWebpOnEndBufferContentHandler($content); }
Корректный html-код при ручном конвертировании изображений с поддержкой всех браузеров выглядит так:<picture> <? $originalFilePath = "/upload/path_to_file/file_name.jpg"; if(\Bitrix\Main\Loader::includeModule("delight.webpconverter")){ $destinationFilePath = DelightWebpConverter::ConvertImage($originalFilePath, $originalFilePath.".webp"); if($destinationFilePath){ // Webp-изображение должно быть определено раньше .jpg/.png ?><source type="image/webp" srcset="<?=str_replace(" ","%20",$destinationFilePath)?>"><? } } ?> <source type="<?=mime_content_type($originalFilePath)?>" srcset="<?=str_replace(" ","%20",$originalFilePath)?>"> <img src="<?=$originalFilePath?>" alt=""> </picture>