Скрипт переносит изображения из ms2Gallery (MODX 2) в Gallery3x. Пакет ms2Gallery может быть уже удалён — нужны только его таблица <префикс>ms2_resource_files и файлы на диске.
Что переносится
- Все оригиналы (записи с
parent = 0) всех ресурсов; превью ms2Gallery не нужны — Gallery3x нарежет свои. - Каждый файл загружается обычным процессором Gallery3x: применяются ваши настройки (имена файлов, формат, фильтры, водяной знак, источник по шаблону).
- Название, описание, alt, активность и порядок (
rank→position).
Запуск
- Сделайте резервную копию базы и папки с изображениями.
- Откройте
core/components/gallery3x/cli/import_ms2gallery.php: в начале файла$isDryRun = true;— пробный режим, ничего не меняется. - Из корня сайта выполните пробный запуск и проверьте список найденных файлов:
php core/components/gallery3x/cli/import_ms2gallery.php
MODX Initialized. Starting ms2Gallery import...
DRY RUN MODE: Files will be listed but not imported.
Found 150 files to process.
...
DRY RUN FINISHED. Found 150 files to be imported.
- Поставьте
$isDryRun = false;, сохраните файл и запустите ту же команду ещё раз.
Processing file for resource ID 12: /path/to/site/assets/images/products/12/photo1.jpg
-> SUCCESS: Imported to Gallery3x file ID 210
...
SUCCESS: Imported 150 of 150 found files.
Site cache has been cleared.
Файлы, которых нет на диске, пропускаются с предупреждением WARNING: Source file does not exist.
Повторный реальный запуск загрузит файлы ещё раз (будут дубли). Запускайте импорт один раз; при сбое удалите импортированное — например, скриптом clear_by_template.php — и повторите.
После импорта
- Проверьте вкладку «Галерея G3x» у нескольких ресурсов и вывод на сайте.
- Когда всё в порядке, таблицу
ms2_resource_filesи старые файлы можно удалить вручную. - Скрипт работает только из консоли: по HTTP отвечает 403.