Зачем нужен этот модуль?
Каждый маркетплейс требует уникальные изображения: Ozon хочет белый фон и текст с характеристиками, Wildberries — инфографику с преимуществами, Яндекс.Маркет — чистые фото с брендингом. Готовить такие картинки вручную в Photoshop — долго, дорого и неудобно при большом каталоге.
Генератор картинок для маркетплейсов решает эту задачу полностью автоматически: вы один раз настраиваете шаблон прямо в Bitrix-админке, а модуль сам генерирует изображения для всех товаров, подставляя данные из инфоблока — название, характеристики, детальное фото.
Ключевые возможности- Визуальный редактор шаблонов — создайте шаблон за 5 минут без знания программирования. Добавляйте, переупорядочивайте и отключайте слои.
- Мгновенное превью — видите результат в реальном времени прямо в редакторе слоя, не выходя из админки.
- Поддержка всех популярных маркетплейсов — встроенные пресеты размеров: Ozon (700×933), Wildberries (900×1200), Яндекс.Маркет (1040×1440), Авито (1280×960). Можно задать любой произвольный размер.
- 7 типов слоёв — фон, локальная картинка, детальное фото товара, картинка из свойства, фиксированный текст, текст из свойства инфоблока, PHP-выражение.
- Условная логика — слой типа «локальная картинка» можно показывать только при определённом значении свойства. Например, значок «Хит» — только для товаров с меткой «bestseller».
- Удаление фона — встроенный алгоритм удаления цветного фона с товарных фото (допуск по каждому каналу RGB, сглаживание края). Поддерживает удаление двух цветов одновременно.
- Маска области — можно скрыть прямоугольную область детального фото (например, убрать лишнюю деталь).
- Планировщик (автоматический режим) — настройте задание и назначьте интервал (каждый час, раз в сутки, раз в неделю). Bitrix-агент запускает генерацию по расписанию через стандартный cron.
- Гибкая фильтрация — при ручной генерации и в планировщике можно выбрать: только товары без картинки, или перегенерировать все. Фильтр по разделу, названию, ID, значениям свойств (с логикой AND/OR).
- PHP-трансформации — для слоя «Текст из свойства» можно задать PHP-функцию или выражение для преобразования значения перед выводом (например, mb_strtoupper).
- Мультиязычность — интерфейс использует стандартные Bitrix lang-файлы. Русский язык включён.
- Чистая установка — модуль создаёт собственные таблицы в БД, не трогает стандартные таблицы Bitrix. При деинсталляции всё удаляется.
=========================
• Drag & drop позиционирование слоёв — перетащите слой мышкой прямо по превью-изображению. Координаты X/Y пересчитываются автоматически, синяя рамка показывает реальный размер слоя.
• Произвольный размер холста — помимо стандартных размеров Ozon, WB, Яндекс.Маркет и Авито теперь можно задать любые размеры вручную.
• Расписания генерации — новый раздел «Задания генерации» для автоматического запуска по расписанию через Bitrix-агент. Гибкая фильтрация элементов, выбор интервала, управление агентом прямо из карточки задания.
• Создание инфоблока и свойств из формы шаблона — не нужно выходить в настройки Bitrix: инфоблок и свойство типа «Файл» создаются в один клик.
• DETAIL_PICTURE как результат — результат генерации можно сохранять в стандартное поле «Детальная картинка», без создания дополнительного свойства.
• Настройки модуля — добавлена страница настроек с флагом «Разрешить PHP-слои» (по умолчанию выключено).
• В комплекте шрифт Arial — модуль готов к работе сразу после установки.
Как это работает
- Установите модуль через «Установка решений».
- В меню появится раздел «Генератор картинок» → «Шаблоны».
- Создайте шаблон: выберите маркетплейс, инфоблок товаров, свойство для сохранения результата.
- Добавьте слои: фон → детальное фото товара → текст с ценой → значок акции.
- Нажмите «Генерировать» — модуль пройдёт по всем товарам и сохранит картинки в выбранное свойство.
- PHP 8.0 и выше
- Расширение PHP: GD (с поддержкой TrueType/FreeType для текстовых слоёв)
- Bitrix CMS 20.0 и выше
- Инфоблок с файловым свойством для сохранения результата
- После окончания демонстрационного периода страницы модуля больше не падают с ошибкой. Раньше «Генерация», «Шаблон», «Слой» и «Задание» открывались белым экраном с сообщением вида «Class "LocalImagegenTemplate" not found»: страница обращалась к модулю, не проверив, что тот вообще подключился. Теперь на их месте выводится штатная плашка с причиной и ссылкой на активацию — так же, как это уже работало на страницах «Шаблоны», «Задания» и «Настройки». Проверены все четырнадцать страниц модуля.
- Фоновые запросы страниц отвечают понятно, а не молчат. Подсчёт элементов, предпросмотр, генерация одного элемента, сохранение задания и создание инфоблока или свойства после окончания демо возвращали ошибку сервера. Теперь возвращают текст «Демонстрационный период модуля истёк».
- Формат готовой картинки задаётся у каждого шаблона. В 1.1.6 выбор был один на весь модуль, а в одном каталоге обычно нужен PNG для одной площадки и WebP для другой. Теперь формат и качество выбираются на странице шаблона, а настройка модуля осталась значением по умолчанию — для шаблонов, где формат не выбран. Существующие шаблоны после обновления работают как раньше.
- Преобразование текста в слое снова применяется. Поле «PHP-трансформация» обещает два варианта — имя функции или выражение с переменной $value, — но с версии 1.1.5 работал только первый: выражение вроде mb_strtoupper($value, 'UTF-8') молча пропускалось, и надпись выводилась без изменений. Теперь работают оба. В список разрешённых функций добавлены mb_strtoupper и mb_strtolower: обычные strtoupper и strtolower кириллицу не меняют, из-за чего русские названия оставались в прежнем регистре.
- Подписи в интерфейсе больше не превращаются в «?» и ромбы. Прошлая версия убрала из кода русский текст, но не символы: длинное тире, кавычки-ёлочки и многоточие в коде страниц ломались на сайтах в UTF-8 так же. Из-за этого свойство-результат показывалось как «ozon_file ? Изображение OZON», а пустая дата последнего запуска — одним ромбом. Проверены все страницы модуля: символов вне языковых файлов не осталось.
- Условие показа слоя умеет больше, чем «равно». Добавлены «не равно», «одно из» (список через запятую), «заполнено» и «не заполнено». Раньше под каждый случай приходилось заводить отдельный слой. Слои, настроенные раньше, продолжают работать без изменений.
- Новые подстановки: год, дата и текст значения списка. {{YEAR}}, {{YEAR_PREV}}, {{YEAR_NEXT}}, {{DATE}}, {{MONTH}}, {{DAY}} — чтобы поставить год на картинку, вычисляемые слои больше не нужны. {{season.TEXT}} выводит подпись значения списка, тогда как {{season}} по-прежнему даёт его код.
- Иконка модуля в меню перестала зависеть от соседних решений. Класс, который рисует раздел «Винтра.Хаб», назывался одинаково у нескольких наших модулей, поэтому на сайте с несколькими решениями иконку рисовал тот, что загрузился первым.
- Вычисляемые слои вернулись — теперь без выполнения кода. В версии 1.1.5 слой «PHP-выражение» был сведён к подстановке значений, и надписи, которые собирались из нескольких свойств или зависели от условия, перестали работать. Теперь выражение разбирает сам модуль и вычисляет по разрешённому списку функций: доступны склейка, арифметика, сравнения, условие «а ? б : в», обращение к свойствам и полям элемента, функции работы со строками, числами и датой. Как код на сервере выражение не выполняется, поэтому настройка остаётся безопасной. Прежние выражения работают в точности как раньше — переписывать их не нужно.
- Настройка «Разрешить PHP-слои» снова управляет поведением. В 1.1.5 галка осталась в интерфейсе, но ни на что не влияла: модуль её не читал. Теперь она включает вычисление выражений, а называется понятнее — «Разрешить вычисляемые выражения в слоях». Подстановки вида «{{NAME}}» работают всегда, независимо от неё.
- Формат готовой картинки на выбор: PNG, JPEG или WebP. Раньше результат всегда сохранялся в PNG и весил порядка полумегабайта на товар. JPEG и WebP дают тот же вид при файле в 5–10 раз меньше — на каталоге в двадцать тысяч позиций это разница в гигабайтах. Рядом настраивается качество. В списке показываются только форматы, которые умеет кодировать PHP на вашем хостинге.
- Размер холста Ozon по умолчанию исправлен на 900?1200. Стояло 700?933 — меньше, чем требует площадка.
- Подписи в интерфейсе перестали превращаться в «?????». На сайтах в кодировке UTF-8 вопросительными знаками отображались блок условий на страницах генерации и задания («Группа», «Между свойствами», «И», «ИЛИ», «удалить группу», «свойство»), сообщения журнала генерации, ошибки загрузки картинок и шрифтов, подписи полей маски и плашка демо-режима. Все они переехали в языковые файлы.
- Транслитерация названия в символьный код заработала на UTF-8 сайтах. Таблица перевода букв хранилась в коде страницы русскими символами и после сборки архива переставала совпадать с тем, что вводит пользователь: код молча не подставлялся.
- Единая иконка меню. Модуль в разделе «Винтра.Хаб» теперь с той же иконкой, что и остальные решения Винтры.
- Демонстрационный режим виден в модуле. На страницах модуля появилась штатная плашка Битрикса с обратным отсчётом: «Демонстрационный режим работы модуля. Осталось дней: N» и ссылкой на покупку. После окончания демо страницы показывают причину и ссылку на активацию вместо пустой страницы.
- Защита от подделки запросов. Удаление и копирование шаблона, удаление и копирование слоя, сохранение шаблона, удаление расписания и переключение его активности и cron-агента, запуск генерации, предпросмотр, создание инфоблока и свойства, сохранение задания и настроек — всё это теперь требует одноразовый токен сессии. Запуск генерации переведён с адресной строки на POST-запрос.
- PHP-выражения в слоях заменены подстановкой значений. Слой «PHP-выражение» выполнял содержимое поля как код на сервере. Теперь поле понимает подстановки вида «{{NAME}}», «{{ID}}», «{{ARTNUMBER}}» — имя поля или свойства элемента в двойных фигурных скобках. Список преобразований текста ограничен безопасными функциями, настройка «Разрешить PHP-слои» больше не нужна. ? Если в слоях были PHP-выражения — перепишите их на подстановки после обновления.
- Проверка загружаемых картинок. Фон и изображение слоя проверяются на сервере по расширению и по фактическому содержимому: принимаются только PNG и JPEG. В папках загрузок создаётся запрет на выполнение скриптов, в том числе на уже установленных сайтах.
- Название решения, разработчик и версия отображаются верно. Название и имя разработчика были записаны в коде по-русски и на сайтах в кодировке UTF-8 показывались вопросительными знаками, а номер версии был вписан в код числом и не менялся при обновлении. Всё это теперь берётся из языкового файла и из файла версии.
- Модуль в общем разделе «Винтра.Хаб». Пункт меню переехал из «Сервисов» в общий раздел рядом с остальными модулями Винтры, с иконкой. На уже установленных сайтах переезд происходит при обновлении.
- Надёжность обновления. Из поставки убраны апдейтеры прошлых версий, а сам апдейтер больше не подключает модуль во время копирования файлов — из-за этого установка обновления могла зависнуть.
- Безопасность и кодировка. Технические детали ошибок не выводятся наружу — показывается обобщённое сообщение. Стрелки, крестики и галочки оформлены так, чтобы не искажаться на сайтах в UTF-8.
1. Скачайте архив модуля с Bitrix Marketplace.
2. Перейдите в Bitrix-админку: Настройки - Установка решений.
3. Загрузите ZIP-архив или найдите модуль в каталоге маркетплейса.
4. Нажмите «Установить». Модуль создаст три таблицы в БД и скопирует страницы в /bitrix/admin/.
5. После установки в меню Bitrix-админки появится раздел «Генератор картинок».
Создание первого шаблона
1. Перейдите в Генератор картинок - Шаблоны - кнопка «Добавить шаблон».
2. Заполните форму:
- Название — произвольное (например, «Ozon — шины»)
- Маркетплейс — выберите из списка; ширина и высота заполнятся автоматически
- Инфоблок — выберите инфоблок с товарами
- Свойство-результат — файловое свойство, куда будет сохраняться готовая картинка
3. Нажмите «Сохранить». Шаблон создан, откроется редактор с панелью слоёв.
Типы слоёв — назначение и применение
- Фон (картинка) — основа изображения. Файл из папки /files/ модуля. Растягивается на весь холст. Всегда добавляйте первым.
- Картинка — локальный файл — статичный элемент: логотип, значок, декор. Позиционируется по X/Y, задаётся размер. Можно показывать условно (по значению свойства).
- Детальная картинка товара — фото из поля DETAIL_PICTURE. Настраивается позиция, кроп, удаление фона, маска.
- Картинка из свойства ИБ — изображение из файлового свойства инфоблока.
- Текст — фиксированный — постоянный текст: «Бесплатная доставка», «Новинка» и т.д.
- Текст из свойства ИБ — данные товара: название, цена, размер. Код свойства NAME — для названия элемента. Поддерживает PHP-трансформацию и ограничение длины.
- Текст — PHP-выражение — произвольный PHP-код для сложных вычислений. Доступны $arElement и $arProps.
Требования
- PHP 8.0 и выше
- Расширение PHP: GD (с поддержкой TrueType/FreeType для текстовых слоёв)
- Bitrix CMS 20.0 и выше
---
Техническую поддержку решения оказывает разработчик — агентство «Винтра».
Режим работы поддержки: понедельник — пятница, с 10:00 до 18:00 по московскому времени (UTC+3). Суббота, воскресенье и нерабочие праздничные дни — выходные.
Обращения по электронной почте принимаются круглосуточно. Ответ — в рабочее время, в течение одного рабочего дня с момента получения обращения.
Электронная почта: support@wintramedia.ru
Сайт разработчика: https://wintramedia.ru
Чтобы мы ответили сразу по существу, укажите в обращении: адрес сайта, версию 1С-Битрикс, версию модуля, что делали и что получили. Снимок экрана с ошибкой ускоряет разбор.
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.