Impex3 - импорт/экспорт ресурсов MODX3 с поддержкой товаров MiniShop3

Всем привет!

Как и обещал, делюсь версией Impex для MODX3 с поддержкой товаров MiniShop3: Impex3
На момент выхода компонент тестировался на miniShop3 1.0.0-alfa, и дальнейшие его изменения будут учитываться по мере выхода релизов.

Сразу оговорюсь, что Impex и Impex3 внутренне разные и заменить один другим не получится. Так что сразу устанавливайте нужную версию.

Работа с компонентом аналогична версии для MODX 2, за исключением отключенной возможности индексирования ресурсов для mSearch2, поскольку версии этого пакета для MODX3 пока нет. Однако, в Impex3 данный функционал заложен, и как выйдет новая версия mSearch, сразу будет активирован ).

И Impex3 и версия для MODX2 обновились до версии 1.0.2, где помимо незначительных улучшений, появилась возможность импорта по расписанию, который удобнее всего реализовать с помощью компонента CronManager.

Для его работы на сервере нужно добавить CRON-задание для запуска скрипта {assets_url}/components/cronmanager/cron.php (подробности в документации).

При создании новой задачи в CronManager, выберите сниппет ImpexCRON, который теперь идёт в комплекте с Impex / Impex3, настройте расписание и укажите параметры запуска:

parent: 25
config: resource
file: import.xlsx
gallery: new



В данном случае в качестве родителя будет выбран ресурс с ID = 25, конфигурация resource.php, файл import.xlsx, который нужно предварительно загрузить в директорию {assets_url}/components/impex/files/ и режим обработки галереи miniShop (new — только новые, refresh — перезапись, если параметр не указывать, галерея не обрабатывается).
Павел Романов
Павел Романов
19 декабря 2024, 15:40
modx.pro
1 815

Комментарии: 11

Николай Савин
19 декабря 2024, 15:42
Касательно MiniShop3 — изменения в классах и таблицах товаров не планируются. Так что тут уже стабильно все.
Роман
02 сентября 2026, 10:22
Добрый день, подскажите пожалуйста, при Импорте (Impex3), какой путь должен быть в xls файле для импорта картинок в Гелерею miniShop3, путь до папки (и как выглядит этот путь) или возможен путь на другой сайт, где картинка? В документации что то не найти. При экспорте как бы все норм — путь такой примерно — 74/r7.jpg. Пробовал грузить в папку продуктов (где картинки товаров по подпапкам), указывать полный путь, но картинку не грузит в товар при Экспорте
    Павел Романов
    02 сентября 2026, 11:00
    По умолчанию в качестве источника файлов используется директория
    assets/components/impex3/images/
    То есть изображения должны находиться в ней и пути в файле указываться относительно нее.
    Если полный путь к изображению такой:
    assets/components/impex3/images/001/001.jpg
    то в файле пишите:
    001/001.jpg
    Из внешних источников в данный момент загружать нельзя. Добавлю этот функционал в следующей версии.
      Роман
      02 сентября 2026, 11:03
      т.е. если загрузить все картинки в эту папку assets/components/impex3/images/, то они подцепятся?
        Роман
        02 сентября 2026, 11:09
        assets/components/impex3/images/r7.jpg — не сработало
        r7.jpg — вот так работает

        Спасибо, разобрались
          Роман
          02 сентября 2026, 16:27
          При импорте, если у многих товаров картинка одна и таже (одно название), то она пропадает из папки assets/components/impex3/images/ и соответственно последующие товары остаются без изображения, есть решение? (вариант переименовывать картинку под каждый товар, не подходит, потому что их несколько тысяч)
            Павел Романов
            02 сентября 2026, 17:26
            Обновитесь до версии 1.0.8 и добавьте в конфиг параметр noremove_images (см. примеры конфигураций):
            $impex_config['noremove_images'] = true;
              Роман
              02 сентября 2026, 18:13
              Спасибо, все получилось!
        Роман
        03 сентября 2026, 13:07
        Добрый день, а если просто обновлять товары, цены, картинку и остальные поля, то ставить // пропускать несуществующие ресурсы (только обновление, без создания)
        $impex_config['skip_new'] = true;? т.е. будут обновляться только все поля и не создаваться новые товары? или как?
          Павел Романов
          03 сентября 2026, 13:47
          Да, несуществующие на сайте ресурсы будут просто проигнорированы.
          Те, которые есть, будут обновлены стандартным образом.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          11