Модуль который делает оптимизацию jpeg/png/svg/gif картинок и pdf-файлов для 1С-Битрикс. Также модуль делает конвертацию jpeg/png картинок в webp/avif для 1С-Битрикс.
Модуль доступен в маркетплейсе битрикс.
- картинки jpeg
- картинки png
- файлы pdf
- картинки gif
- картинки svg
- webp
- avif
- картинки jpeg
- картинки png
- hitConvert - конвертации "на лету" при запросе картинки или её ресайза.
- postConvert - конвертация "на лету" перед показом страницы. Кэшируется.
- lazyConvert - ленивая (отложенная) конвертация. Конвертация происходит постепенно в фоне. Кэшируется. Рекомендуется!
можно использовать hitConvert+postConvert
- оптимизация картинок
- конвертация картинок
- модуль использует рекомендуемые google: jpegoptim, optipng, gs, svgo, gifsicle, cwebp, avif
- сжатие картинок в 5-10 раз
- пройдете анализ PageSpeed Insights
- автоматическая оптимизация (на лету)
- оптимизация картинок при ресайзе (на лету)
- автоматическая конвертация картинок в webp (на лету или в фоне)
- автоматическая конвертация картинок в avif (на лету или в фоне)
- в режиме lazyConvert не созжаются дубли картинок
- не использует сторонние сервисы
- не использует curl
- почти не нагружает сервер
- оптимизирует без грязи
- освободится значительное кол-во места на диске (в 5-10 раз!)
- progressive jpeg
- возможность оптимизации через консоль (в фоне)
- гибкие настройки
- вкл/выкл автоматического уменьшение размера картинок. Можно задать максимальный размер и все картинки которые больше будут автоматически уменьшаться до этого размера.
- загрузки картинки превью и детальной у элементов
- загрузки картинки в свойство FILE Image у элементов
- загрузки картинки в разделы элементов
- загрузки картинки в модуль main
- ресайзе картинки (в т.ч. кэшируемой)
- вкл/выкл оптимизация у элементов/разделов/ресайза
- можно установить качество jpeg-файлов при сжатии
- можно установить степень сжатия у png-файлов
- вкл/выкл progressive jpeg
- можно сжать все имеющиеся картинки прям из админки
- настройки для конвертации в webp
- агенты
- агент конвертации картинок
- агент автоматической очистки истекшего кэша
/bitrix/modules/dev2fun.imagecompress/console/optimize.php
- cron/cli скрипт оптимизации картинок/bitrix/modules/dev2fun.imagecompress/console/convert.php
- cron/cli скрипт для конвертации картинок (из бд)/bitrix/modules/dev2fun.imagecompress/console/cache-delayed-delete.php
- cron/cli скрипт по авто-очистке истекшего кэша
0.5.x: будет добавлена конвертация картинок в webp0.6.x добавлен режим пост-конвертации0.8.x: будет добавлен режим lazyConvert- 0.10.x: будет переработана оптимизация картинок через UI
- 0.12.x: будет добавлена возможность замены дублирующих картинок на символические ссылки (значительно освободит место на HDD)
- 0.13.x: будет добавлена возможность выбора кастомного сервера оптимизации/конвертации + код для микросервиса, который вы сможете разместить в нужном месте.
- 1.0.x: будет добавлена возможность оптимизаций и конвертаций по кастомным путям
Рекомендуемая установка через маркетплейс битрикса. Ниже будет описана установка, через github
Лучше всего это доверить опытному программисту или системному администратору
- Установить jpegoptim для оптимизации jpeg-картинок
- Установить optipng для оптимизации png-картинок
- Установить gs для оптимизации pdf-документов
- Установить svgo для оптимизации svg-картинок
- Установить gifsicle для оптимизации gif-картинок
- Убедиться в установке библиотеки GD
- Убедиться в доступности функции exec (используется для вызова утилит) и доступности всех установленных утилит из под php.
- Установить cwebp для конвертации в webp-картинки
- Убедиться в установке библиотеки GD с поддержкой webp и avif (если нужен)
- Убедиться в доступности функции exec (используется только для cwebp)
- Клонируете/скачиваете репозиторий к себе
- Выбираете нужную кодировку и копируете оттуда папку dev2fun.imagecompress
- Кладете папку dev2fun.imagecompress в /bitrix/modules/
- Переходите на страницу
Marketplace->Установленные решения
, находите модуль в списке и нажимаете установить - Переходите на страницу настройки модуля
- Активируете нужные компоненты и указываете пути из шага1. Сохраняетесь
- Используете.
- Перейти в раздел настроек модуля и активировать нужные функции
Если вы только устанавливаете модуль, то миграции применять НЕ НАДО! эти миграции служат для перехода с версии на версию, без необходимости переустановки модуля
- делаете бэкап
- запоминаете, какая у вас версия модуля
- копируете и заменяете файлы модуля (обязательно в нужной кодировке!)
- копируете миграцию с вашей версии на новую в любое доступное место (например в корень сайта) и вызываете через браузер
- при успехе вы увидите "x.x.x - Success", где x.x.x - применяемая версия
название события | передаваемые переменные | описание |
---|---|---|
OnBeforeResizeImage | $intFileID - идентификатор файла | Событие запускается перед началом оптимизации (до поиска файла в базе) |
OnBeforeResizeImageJpegoptim | &$strFilePath - путь до файла, &$quality - качество картинки, &$params - дополнительные параметры |
Событие запускается перед началом оптимизации jpeg-картинок |
OnBeforeResizeImageOptipng | &$strFilePath - путь до файла, &$quality - степень сжатия картинки, &$params - дополнительные параметры |
Событие запускается перед началом оптимизации png-картинок |
OnAfterResizeImage | &$strFilePath - путь до файла | Событие запускается после оптимизации |
OnBeforeCheckWebpBrowserSupport | &$supportBrowsers - массив поддерживаемых браузеров | Событие запускается перед проверкой браузера |
OnAfterCheckWebpSupport | $result - результат проверки на поддержку webp, обязательно сделайте return $result; |
Событие запускается после всех проверок на поддержку webp |
OnBeforePostConvertImage | &$arFiles - список файлов подлежащих конвертации (только в режиме postConvert) Кэшируется |
Событие запускается в режиме postConvert перед началом конвертации |
OnBeforePostConvertReplaceImage | &$arFileReplace - список файлов подлежащих замене (только в режиме postConvert) Не кэшируется |
Событие запускается в режиме postConvert перед началом замены текущих картинок на webp |
OnBeforePostConvertImage | &$file - путь до файла перед начало его конвертации | Событие запускается в режиме postConvert перед началом конвертации файла в webp |
Bank Card | Visa/Mastercard/Mir/Other |
YooMoney | 410011413398643 |
Webmoney WMR (rub) | R218843696478 |
Webmoney WMU (uah) | U135571355496 |
Webmoney WMZ (usd) | Z418373807413 |
Webmoney WME (eur) | E331660539346 |
Webmoney WMX (btc) | X740165207511 |
Webmoney WML (ltc) | L718094223715 |
Webmoney WMH (bch) | H526457512792 |
PayPal | @darkfriend |
Payeer | P93175651 |
Bitcoin | 15Veahdvoqg3AFx3FvvKL4KEfZb6xZiM6n |
Litecoin | LRN5cssgwrGWMnQruumfV2V7wySoRu7A5t |
Ethereum | 0xe287Ac7150a087e582ab223532928a89c7A7E7B2 |
BitcoinCash | bitcoincash:qrl8p6jxgpkeupmvyukg6mnkeafs9fl5dszft9fw9w |