
Утилиты: Галерея
Инструмент для массовой перегенерации миниатюр изображений всех товаров.
Назначение
При загрузке изображений в галерею товара MiniShop3 автоматически создаёт миниатюры (превью) различных размеров. Если после этого изменились настройки превью или требуется обновить все миниатюры, используйте эту утилиту.
Когда использовать
- После изменения размеров превью в системных настройках
- После миграции сайта на новый сервер
- После массового обновления изображений через FTP
- При повреждении или отсутствии миниатюр
- После обновления MiniShop3 с изменениями в обработке изображений
Интерфейс
Информационная панель
Отображает текущее состояние галереи:
- Медиа-источник — название и ID источника файлов
- Товаров с изображениями — количество товаров, имеющих галерею
- Всего файлов — общее количество изображений в галереях
Настройки превью
Сворачиваемая секция показывает текущую конфигурацию миниатюр:
small: 120x90
medium: 360x270
large: 720x540Изменение размеров
Настройки размеров задаются в системных настройках MODX:
ms3_product_thumbnail_size— размеры миниатюр
Параметры обработки
| Параметр | Описание | По умолчанию |
|---|---|---|
| Товаров за шаг | Количество товаров, обрабатываемых за одну итерацию | 10 |
Рекомендации
- Для слабых серверов уменьшите значение до 5
- Для мощных серверов можно увеличить до 20-30
- Большие значения могут привести к таймауту
Процесс работы
Подготовка
- Проверьте настройки превью в системных настройках
- Убедитесь в наличии достаточного места на диске
- Рекомендуется выполнять в период низкой нагрузки
Запуск
- Нажмите кнопку "Перегенерировать превью"
- Процесс начнёт обработку товаров порциями
Отслеживание прогресса
- Индикатор показывает процент выполнения
- Отображается текущая итерация из общего количества
- Процесс можно прервать, закрыв страницу
Завершение
- После завершения появится сообщение с количеством обработанных товаров
- Нажмите "Сбросить" для подготовки к новому запуску
Техническая информация
API Endpoint
POST /api/mgr/utilities/gallery/updateПараметры:
limit— количество товаров за итерациюoffset— смещение (для пагинации)
Ответ:
{
"success": true,
"object": {
"updated": 10,
"total": 150,
"offset": 10,
"done": false
}
}Процесс обработки
Для каждого товара утилита:
- Получает список изображений из галереи
- Для каждого изображения:
- Читает оригинальный файл
- Генерирует миниатюры согласно настройкам
- Сохраняет превью в соответствующие директории
- Обновляет метаданные в базе данных
Хранение файлов
assets/images/products/
├── {product_id}/
│ ├── original.jpg # Оригинал
│ ├── small/ # Маленькие превью
│ │ └── original.jpg
│ ├── medium/ # Средние превью
│ │ └── original.jpg
│ └── large/ # Большие превью
│ └── original.jpgРешение проблем
Процесс прерывается
Симптом: Обработка останавливается на определённом проценте.
Решения:
- Уменьшите количество товаров за шаг
- Увеличьте
max_execution_timeв PHP - Проверьте логи ошибок сервера
Миниатюры не создаются
Симптом: После завершения превью отсутствуют.
Проверьте:
- Права на запись в директорию
assets/images/ - Наличие GD или ImageMagick на сервере
- Корректность настроек превью в системных настройках
Ошибка "Нет товаров"
Симптом: Сообщение о том, что нет товаров для обработки.
Причины:
- В каталоге нет товаров с изображениями
- Медиа-источник настроен неправильно
- Таблица галереи пуста
