import_ms2gallery.php
Импорт из ms2Gallery
Компонент Gallery3x включает в себя консольный скрипт для миграции изображений из старого компонента ms2Gallery. Это позволяет легко и быстро перенести все существующие галереи на новый, современный движок Gallery3x при переезде с MODX 2 на MODX 3.
Ключевая особенность: Скрипт работает, даже если вы уже удалили пакет ms2Gallery из админ-панели. Главное, чтобы его таблица (modx_ms2_resource_files) и физические файлы остались на сервере.
Использование скрипта
-
Автоматизация: Скрипт автоматически переносит тысячи файлов и их метаданные.
-
Использование процессора: Для каждого файла вызывается стандартный процессор загрузки
Gallery3x, что гарантирует применение всех ваших текущих настроек (транслитерация, водяные знаки, фильтры, генерация превью). -
Сохранение данных: Скрипт переносит не только сами файлы, но и всю важную информацию: название, описание, alt-тег, статус (активен/неактивен) и порядок сортировки.
Подготовка к импорту
Перед запуском убедитесь, что:
-
Старая таблица
ms2Gallery(обычнопрефикс_ms2_resource_files) все еще существует в вашей базе данных. -
Физические файлы, загруженные через
ms2Gallery, все еще находятся на сервере.
Настройка и запуск скрипта
Вся настройка производится прямо в файле скрипта.
-
Откройте файл скрипта в текстовом редакторе. Он находится по пути:
/core/components/gallery3x/cli/import_ms2gallery.php -
Настройте параметры в самом верху файла:
PHP// =================================================================== // --- НАСТРОЙКИ ИМПОРТА: Укажите ваши значения здесь --- // =================================================================== // ID ресурса для импорта. Укажите 0, чтобы импортировать для ВСЕХ ресурсов. $resourceId = 0; // "Сухой" запуск. // true - скрипт только покажет, какие файлы он нашел, но ничего не будет импортировать. // false - скрипт выполнит реальный импорт. $isDryRun = true; -
Запустите скрипт из консоли (терминала) по SSH. Сначала всегда запускайте в "сухом" режиме, чтобы убедиться, что скрипт правильно находит ваши файлы. Для этого
$isDryRunдолжен бытьtrue.-
Перейдите в корневую директорию вашего сайта.
-
Выполните команду:
Bashphp core/components/gallery3x/cli/import_ms2gallery.php -
Вы увидите в консоли отчет о том, сколько файлов найдено для импорта.
-
-
Запустите реальный импорт.
-
Если "сухой" запуск прошел успешно, измените в файле скрипта
$isDryRun = false;. -
Сохраните файл и выполните ту же команду в консоли еще раз.
Начнется процесс копирования файлов, создания записей в базе и генерации превью.
MODX Initialized. Starting ms2Gallery import... Found 150 files to process. Processing file: /path/to/site/assets/images/products/12/photo1.jpg -> SUCCESS: Imported to Gallery3x file ID 210 Processing file: /path/to/site/assets/images/products/12/photo2.jpg -> SUCCESS: Imported to Gallery3x file ID 211 ... ---------------------------------------- SUCCESS: Imported 150 of 150 found files. Site cache has been cleared. -
После импорта
-
Проверьте результат: Зайдите в админ-панели на страницы ресурсов и убедитесь, что изображения появились во вкладке "Галерея" компонента
Gallery3x. -
Проверьте сайт: Убедитесь, что галереи на сайте отображаются правильно.
-
Очистка (опционально): Когда вы будете полностью уверены, что миграция прошла успешно, вы можете вручную удалить старую таблицу
modx_ms2_resource_filesиз базы данных, чтобы она не занимала место.