Skip to main content

import_ms2gallery.php

Импорт из ms2Gallery

Компонент Gallery3x включает в себя консольный скрипт для миграции изображений из старого компонента ms2Gallery. Это позволяет легко и быстро перенести все существующие галереи на новый, современный движок Gallery3x при переезде с MODX 2 на MODX 3.

Ключевая особенность: Скрипт работает, даже если вы уже удалили пакет ms2Gallery из админ-панели. Главное, чтобы его таблица (modx_ms2_resource_files) и физические файлы остались на сервере.

Использование скрипта

  • Автоматизация: Скрипт автоматически переносит тысячи файлов и их метаданные.

  • Использование процессора: Для каждого файла вызывается стандартный процессор загрузки Gallery3x, что гарантирует применение всех ваших текущих настроек (транслитерация, водяные знаки, фильтры, генерация превью).

  • Сохранение данных: Скрипт переносит не только сами файлы, но и всю важную информацию: название, описание, alt-тег, статус (активен/неактивен) и порядок сортировки.


Подготовка к импорту

Перед запуском убедитесь, что:

  1. Старая таблица ms2Gallery (обычно префикс_ms2_resource_files) все еще существует в вашей базе данных.

  2. Физические файлы, загруженные через ms2Gallery, все еще находятся на сервере.


Настройка и запуск скрипта

Вся настройка производится прямо в файле скрипта.

  1. Откройте файл скрипта в текстовом редакторе. Он находится по пути: /core/components/gallery3x/cli/import_ms2gallery.php

  2. Настройте параметры в самом верху файла:

    PHP

    // ===================================================================
    // --- НАСТРОЙКИ ИМПОРТА: Укажите ваши значения здесь ---
    // ===================================================================
    
    // ID ресурса для импорта. Укажите 0, чтобы импортировать для ВСЕХ ресурсов.
    $resourceId = 0;
    
    // "Сухой" запуск. 
    // true  - скрипт только покажет, какие файлы он нашел, но ничего не будет импортировать.
    // false - скрипт выполнит реальный импорт.
    $isDryRun = true;
    
  3. Запустите скрипт из консоли (терминала) по SSH. Сначала всегда запускайте в "сухом" режиме, чтобы убедиться, что скрипт правильно находит ваши файлы. Для этого $isDryRun должен быть true.

    • Перейдите в корневую директорию вашего сайта.

    • Выполните команду:

      Bash

      php core/components/gallery3x/cli/import_ms2gallery.php
      
    • Вы увидите в консоли отчет о том, сколько файлов найдено для импорта.

  4. Запустите реальный импорт.

    • Если "сухой" запуск прошел успешно, измените в файле скрипта $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.
    

После импорта

  1. Проверьте результат: Зайдите в админ-панели на страницы ресурсов и убедитесь, что изображения появились во вкладке "Галерея" компонента Gallery3x.

  2. Проверьте сайт: Убедитесь, что галереи на сайте отображаются правильно.

  3. Очистка (опционально): Когда вы будете полностью уверены, что миграция прошла успешно, вы можете вручную удалить старую таблицу modx_ms2_resource_files из базы данных, чтобы она не занимала место.