Автор дополнения
Prihod
Пакетов
35
Закачек
11 279
Обычно отвечает в течение суток
Автор дополнения
Пакетов
35
Закачек
11 279
Обычно отвечает в течение суток
Версия 2.0.24-pl
Дата выпуска 14.10.2024
Загрузки 4 802
Просмотры 40 633
Внимание, этот компонент требует версию PHP 7.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.7 !

Компонент предназначен для импорта экспорта как документов Modx так и данных других дополнений..


Внимание! Для получения версии пакета с поддержкой PHP 8 пишите в техническую поддержку.

Видео обзор:



Поддерживаемые форматы файлов:

  • CSV
  • TSV
  • XLSX
  • ODS
  • XML (только экспорт)

Поддерживаемы типы экспорта:


Поддерживаемы типы импорта:


Дополнения расширяющие базовый компонент:

  • ieMs2 — сервисы импорта/экспорта MiniShop2;
  • ieGallery — сервисы импорта/экспорта галерей ms2Gallery и MiniShop2;
  • ieMsOptionsPrice2 — сервисы импорта/экспорта msOptionsPrice2;
  • ieMsOptionsColor — сервисы импорта/экспорта msOptionsColor;
  • ieMsProductRemains — сервисы импорта/экспорта msProductRemains;
  • ieMsSalePrice — сервисы импорта/экспорта msSalePrice;
  • ieYandexMarket — сервис экспорта Yandex.Market для DBS модел.

Примечание. Если файл экспорта не скачивается, то скорей всего у вас сайт открывается по https протоколу но при этом в системной настройке server_protocol modx стоит http из-за чего ссылка на скачивания получается с http что приводит к блокировке открытия всплывающего окно скачивания.

Примечание. При написании своего плагина следует учитывать, что уже запущенные процессы наблюдатели не увидят ваш плагин или изменения в нем, поэтому необходимо удалить все ранее запущенные наблюдатели. Наиболее быстро и надежно это сделать, выполнив в консоли сервера команду
kill -9 `pgrep -f '.*watcher.php'`

Системные события


msieOnLoadServices — загрузка списка сервисов
  • msie — объект класса Msie;
  • mode — типа сервиса. Допустимые значение: import;export

msieOnManagerCustomCssJs — загрузка скриптов
  • controller — экземпляр класса контроллер;
  • page — идентификатор страницы

msieOnGetServiceFields — загрузка списка полей
  • msie — объект класса Msie;
  • mode — типа сервиса. Допустимые значение: import; export.
  • service — объект класса MsIeService
  • fields — список полей

msieOnExportStart — старт экспорт
  • worker — объект класса
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • cached — запущен ли экспорт в кэшированном режиме

msieOnExportBeforeFinish — завершение экспорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • cached — является ли запуск в кэшированном режиме
  • file — файл экспорта

msieOnExportBeforeArchive — перед архивированием данных экспорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • files — список файлов для архивации


msieOnExportFinish — конец экспорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • cached — запущен ли экспорт в кэшированном режиме
  • file — файл экспорта

msieOnExportPrepareQuery — подготовка запроса экспорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • config — массив с данными для формирования SQL запроса

msieOnExportBeforePrepareRow
msieOnExportAfterPrepareRow
— подготовка данных записи экспорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • dataType — тип записи. Допустимые значение:keys;fields;records.
  • data — массив данных

msieOnExportBeforeWriteRow
msieOnExportAfterWriteRow
— запись данных в файл
  • worker — объект класса
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • dataType — тип записи. Допустимые значение:keys;fields;records.
  • data — массив данных
  • options — массив опций

msieOnImportStart — старт импорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • files — массив файлов импорта

msieOnImportBeforePrepare — подготовка данных импорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • data — массив данных импорта

msieOnImportAfterPrepare
msieOnImportBeforePrepare
— подготовка данных импорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • data — массив данных импорта
  • record — подготовленные данные импорта
  • action — действие. Допустимые значение: create; update.

msieOnBeforeImport — импорт данных
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • data — массис данных импорта
  • record — подготовленные данные импорта
  • action — действие. Допустимые значение: create; update.
  • tvs — массив tv полей (присутствует только у сервиса быстрого обновления)
  • poolQuery — массив SQL запросов быстрого обновления (присутствует только у сервиса быстрого обновления)

msieOnImport — импорт данных
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • data — массив данных импорта
  • record — подготовленные данные импорта
  • object — массив данных объекта импорта
  • action — действие. Допустимые значение: create; update.

msieOnImportNotUnique — проверка на дублирование
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • data — массив данных импорта
  • record — подготовленные данные импорта
  • field — название проверочного поля. По умолчанию “alias”
  • duplicate — ID дублирующего ресурса

msieOnImportFinish — конец импорта
  • worker — объект класса MsIeWorker
  • presetId — ID пресета
  • skip — прервать действие. Допустимые значения: true; false. По умолчанию false.
  • ids — массив ID объектов которые были созданы/обновлены в процессе импорта. Параметр присутствует только для сервисов импорта каких либо ресурсов Modx.

Примечание! Любой из сервисов также может к перечисленному списку параметров событий добавлять свои, поэтому также необходимо смотреть параметры событий на страницах конкретных дополнений которые добавляют свои сервисы.


Не скачивается файл экспорта

Если файл экспорта не скачивается, то скорей всего у вас сайт открывается по https протоколу, но при этом в системной настройке server_protocol Modx стоит http. В результате ссылка на скачивание получается с http, что приводит к блокировке открытия всплывающего окна скачивания.

Зависания процесса обновлении :

Если при обновлении пакета зависает процесс то скорей всего у вас накопилось большое количества файлов в директориях
/ваш путь/assets/components/msimportexport/tmp
/ваш путь/assets/components/msimportexport/upload
/ваш путь/core/components/msimportexport/data/task
А так как при обновлении пакета его текущею версия Modx архивирует то этот процесс в случае большого количества файлов занимает длительное время что в итоге привышает лимит выполнения php скрипта и процесс установки отваливается.
Решение
В консоли сервера выполните следующее команды которые находят в указанных директория файлы и папки старше 1 дня у удаляет их
find /ваш путь/assets/components/msimportexport/tmp -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
find /ваш путь/assets/components/msimportexport/upload -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
find /ваш путь/core/components/msimportexport/data/task -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
для удаление файлов старше 30 минут замените -mtime +1 на -mmin +30

Переход с первой версии на вторую:

Вторая версия компонента не совместима с первой поэтому просто так обновится не получится и лучше всего ее использовать на новых проектах.


Если все же вы решили установить вторую версию на сайт где уже установлена первая версия то перед этим нужно удалить первую версию, а также в базе данных вручную удалить следующие таблицы от первой версии.


  • msie_cron
  • msie_head_alias
  • msie_access_price
  • msie_presets_fields

[2.0.24-pl] - 2024-10-14

Исправлено

  • Обновление TV в сервисах быстрого обновления
  • Статус задачи: Убита (killed)

[2.0.23-pl] - 2024-08-27

Исправлено

  • Импорт фото по ссылке с пробелом в названии

[2.0.22-pl] - 2024-08-15

Добавлено

  • Для задачи в менеджере задач кнопку открытия окна импорта/экспорта с уже выбранными параметрами
  • Виджет "Менеджер задач"
  • Опция "Высота виджета" (msimportexport_widget_height)

[2.0.21-pl] - 2024-08-11

Исправлено

  • Сброс всего кэша ресурсов при каждой итерации импорта документов modx

[2.0.20-pl] - 2024-08-01

Исправлено

  • Импорт из CSV файлов после обновления 2.0.19-pl

[2.0.19-pl] - 2024-07-29

Добавлено

  • В пресете импорта опции для Excel: "Пропускать листы" "Использовать только первый лист"

[2.0.18-pl] - 2024-07-14

Добавлено

  • Метод execSql в классе MsIeTools

[2.0.17-pl] - 2024-06-09

Добавлено

  • Поддержка TSV формата файла импорта/экспорта

[2.0.16-pl] - 2024-05-31

Исправлено

  • Ошибка после обновления до версии 2.0.15-pl "Uncaught Error: Class 'Box\Spout\Writer\Common\Creator\WriterFactory' not found"

[2.0.15-pl] - 2024-05-28

Добавлено

  • Экспорт ресурсов типа "Ссылка", "Символическая ссылка" и "Статичный ресурс"

Исправлено

  • Проверка алиаса на уникальность

[2.0.14-pl] - 2024-02-16

Изменено

  • Значение опции "Минимальная версия php" на 7.4.*

[2.0.13-pl] - 2024-02-12

Добавлено

  • Проверка при установке соответствие PHP минимальной версии
  • Предупреждение при обновлении пакета с первой версии на вторую

[2.0.12-pl] - 2023-12-14

Исправлено

  • Игнорирование значений опции "Пропустить разбор полей" в сервисах экспорта

[2.0.11-pl] - 2023-10-06

Исправлено

  • Спрос при импорте у имеющегося ресурса его полей "template", "published", "hidemenu" и "searchable" к значению по умолчанию

[2.0.10-pl] - 2023-06-13

Изменено

  • Значение по умолчанию для опции "Пропускать импорт если нет значения для поля проверки" на "Нет"

[2.0.9-pl] - 2023-06-02

Исправлено

  • Передача параметров для CSV ридера

[2.0.8-pl] - 2023-05-30

Исправлено

  • Автоматическое создание уникального алиса
  • Ошибка "object_err_ns" при открытии окна редактирования пресета

[2.0.7-pl] - 2023-05-29

Исправлено

  • Обработка параметра пропуска операции в системных событиях

[2.0.6-pl] - 2023-05-25

Исправлено

  • Вставка в Excel файл изображения

[2.0.5-pl] - 2023-05-25

Добавлено

  • В сервис импорта опция "Пропускать импорт если нет значения для поля проверки"

[2.0.4-pl] - 2023-05-24

Добавлено

  • В сервис импорта товара опция "Разделитель для поля родитель (parent)"
  • Возможность жесткой остановки выполнения задачи для сервера не поддерживающего сигналы и демон процессы

Исправлено

  • Установка шаблона для новой категории в сервисах импорта

[2.0.3-beta] - 2023-03-17

Исправлено

  • Передача в системное событие параметра presetId
  • Ошибка "Uncaught Error: Class 'xPDOTransport' not found"

[2.0.2-beta] - 2023-03-15

Исправлено

  • Загрузка zip архива для импорта
  • Использование опций leftJoin и innerJoin при экспорте

[2.0.1-beta] - 2023-03-08

Исправлено

  • Загрузка списка полей для опции "Поле для проверки наличия импортируемого объекта"
  • Ошибка если папка core вынесена на каталог выше

[2.0.0-beta] - 2023-01-12

  • Релиз

Последние обсуждения в сообществе MODX.pro