Сергей Сорокин Обсудить задачу
← Все статьи

· Изображения в интернет-магазине

Как фотографии MAYLINA попадают в каталог, карточку и корзину

Обновлено

В магазине одежды MAYLINA фотографию загружают один раз. В каталоге она заполняет рамку, в карточке открывается крупнее, в корзине занимает небольшое место. Я настроил подготовку отдельных версий, чтобы для маленького фото не приходилось загружать большой файл, а при увеличении можно было рассмотреть вещь целиком.

Размер зависит от места на странице

На снимке каталога фотографии одежды стоят в одинаковых рамках. Чтобы заполнить рамку, страница скрывает часть кадра, которая в нее не помещается. Это не обрезка загруженного файла: при увеличении в карточке доступна отдельная версия с полным кадром.

Размеры для каталога и галереи я вынес в общий список. Им пользуются и обработка фотографий, и шаблоны страниц. Если меняется размер блока в макете, соответствующий размер файла можно проверить в одном месте. Для небольшого изображения в корзине тоже готовится своя версия.

Фотографии товаров в каталоге MAYLINA
В каталоге фотографии заполняют одинаковые рамки. Снимок сентября 2026; фотографии предоставил заказчик. Нажмите, чтобы увеличить.
Крупная фотография и выбор цвета в карточке товара MAYLINA
В карточке фото занимает больше места, рядом можно выбрать цвет. Снимок сентября 2026. Нажмите, чтобы увеличить.

Телефону тоже бывает нужна крупная версия

Ширина фотографии на странице и ширина файла в пикселях могут различаться. Например, на экране двойной плотности для блока шириной 300 пикселей нужна картинка шириной 600 пикселей. Это условный расчет; размеры блоков MAYLINA заданы в макете.

Для таких экранов я добавил версии 2×. Браузер получает варианты для обычной и двойной плотности и выбирает подходящий. Поэтому маленькому экрану телефона иногда нужен файл крупнее, чем можно ожидать по ширине страницы.

Если разрешения исходника недостаточно, обработчик не растягивает его до заданного размера и не подставляет оригинал вместо недостающей версии 2×. Растягивание изображения не добавит деталей ткани, поэтому разрешение фото стоит проверить до загрузки.

Фото из 1С и ручная загрузка проходят общую обработку

Фотографии поступают при обмене с 1С или при ручном добавлении через Битрикс. Я подключил обработчик к штатному сохранению файла: оба способа загрузки проходят через него. Прямое копирование в папку сайта в обход Битрикса обработчик не запускает.

Если длинная сторона поддерживаемого изображения превышает 4000 пикселей, обработчик уменьшает ее до 4000, сохраняя пропорции и учитывая записанную в файле ориентацию снимка. В условном примере кадр 6000 × 4000 станет примерно 4000 × 2667. Если длинная сторона не превышает 4000 пикселей, файл на этом этапе не пережимается.

После уменьшения Битрикс сохраняет полученный файл. Но для обработки сервер сначала читает исходник в память. Ограничение сохраняемого размера само по себе не защищает от нехватки памяти при обработке огромного файла.

Что показал замер PNG и WebP

28 июля 2026, перед запуском магазина, в тестовом каталоге использовались фотографии PNG. Фото 990 × 660 пикселей занимало 1151 КБ. WebP тех же размеров занял 81 КБ, примерно в 14 раз меньше. Для 8 фотографий товарной сетки сумма уменьшилась с 4239 до 415 КБ. PNG уже были уменьшены до нужных размеров, поэтому здесь сравнивались именно форматы.

Это замер файлов из тестового каталога. Он не означает, что весь магазин стал в 14 раз быстрее. На снимках выше другие фотографии, к ним эти числа не относятся.

WebP не всегда оказывается легче. Я добавил сравнение размеров файлов: если полученный WebP весит столько же или больше, сайт оставляет версию в исходном формате. После сжатия сравните фотографии: у одежды нужно смотреть на фактуру ткани, края изделия и мелкие детали.

Подготовьте фотографию для своего магазина

Выберите фотографию, задайте ширину блока на странице и плотность экрана. Сравните полный кадр и обрезку под рамку, измените качество и скачайте готовый файл. Обработка идет в вашем браузере; выбранный файл не отправляется на сервер.

Открыть инструмент отдельно

Для подготовки файла включите JavaScript. Статью и рекомендации по размерам можно читать без него.

Почему копии готовятся после обновления каталога

Если нужной версии еще нет, сайт может создать ее при открытии страницы. Тогда покупатель ждет и обработку фото. Чтобы подготовить копии заранее, я добавил запуск после успешного обмена с 1С. Он использует те же размеры и обработчики, что каталог и карточка.

После обмена обработчик готовит копии, пока не достигнет лимита времени или числа товаров. Для оставшихся фотографий и ручных изменений я предусмотрел фоновое задание. После большого импорта часть копий может быть еще не готова; удаленные из кеша версии тоже приходится создавать заново при открытии страницы.

Для замены фото я подключил удаление связанных WebP-копий при штатном удалении файла Битриксом. Новая фотография получает свои версии. Поэтому при проверке важно заменить фото у товара, для которого копии уже созданы.

Как проверить обработку на своем каталоге

До массовой загрузки возьмите несколько своих фотографий с разными пропорциями и разрешением. Для одежды полезны кадр изделия целиком и крупный план ткани. На них можно проверить, что остается видимым в рамке и какие детали сохраняются после сжатия.

Что подготовить для интеграции сайта с 1С

  • Загрузите фото через обмен с 1С и вручную через Битрикс. Проверьте ориентацию и видимую часть кадра в каталоге, карточке и корзине.
  • Откройте увеличение фотографии на телефоне и компьютере. Посмотрите, можно ли рассмотреть детали, ради которых покупатель увеличивает изображение.
  • Замените фото у товара с уже подготовленными копиями. Проверьте, что во всех местах показана новая фотография, в том числе при выборе цвета.
  • Попросите разработчика показать размеры загружаемых файлов и проверить время первого открытия товара после импорта. Если копии подготовлены заранее, время их создания не попадет в этот замер.

Начнем с вашей задачи

Расскажите,
что нужно сделать.

Перейти к форме

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

Сергей Сорокин

Сергей СорокинВы напишете лично мне.

Удобнее связаться напрямую?

Адрес, на который можно ответить.
От 10 до 5000 символов. Ссылку на сайт можно добавить здесь.