К содержанию

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
2 182
Реклама

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

Николай Савин
Николай Савин Администратор
19 декабря 2024, 15:42
Касательно MiniShop3 — изменения в классах и таблицах товаров не планируются. Так что тут уже стабильно все.
    Павел Романов
    Павел Романов Проверенный
    19 декабря 2024, 15:47
    Прекрасная новость )
    Роман
    Роман Старожил
    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