События и плагины

27 декабря 2020, 07:00

Плагины

Список плагинов, необходимых для работы и расширения компонента. В будущих версиях может расширяться.

removeUuid

Позволяет удалить привязки свойств товаров при удалении товаров в MODX. Вызывается на событие OnBeforeEmptyTrash.

События

mSyncOnProductImport

Вызывается при обработке каждой категории и каждого товара в файле товаров после создания или обновления товара или категории.

Параметр Значение Описание
$mode Строка "category" для категорий или "create" для новых товаров или "update" для обновления товара Тип объекта, обрабатываемого в данный момент
$resource Объект msCategory или msProduct Объект минишопа, созданный или обновленный в данный момент
$properties array Массив свойств товара, извлеченных из XML, пустой для категории.
$data Объект mSyncCategoryData или mSyncProductData Объект привязки категории или товара 1С к объектам минишопа

mSyncBeforeProductOffers

Вызывается перед обработкой одного торгового предложения.

Параметр Значение Описание
$uuid string UUID товара в 1С
$uuid_offer string UUID торгового предложения в 1С
$xml SimpleXMLElement Объект XML, содержащий торговое предложение

mSyncOnProductOffers

Вызывается после обработки одного торгового предложения.

Параметр Значение Описание
$resource Объект msProduct Объект товара минишопа, обновленный данным торговым предложением
$offer Объект mSyncOfferData Объект торгового предложения
$xml SimpleXMLElement Объект XML, содержащий торговое предложение

mSyncAfterOffers

Вызывается после обработки всех торговых предложений.

Параметр Значение Описание
$totalOffers int Кол-во выгруженных торговых предложений

mSyncOnCsvExport

Вызывается при добавлении каждого товара в выгрузку в формате CSV. Позволяет настроить ее под свои нужды.

Параметр Значение Описание
$fields array Массив полей товара, где ключ - поле товара (имя столбца CSV), а значение - значение данного поля.
$product Объект msProduct Объект товара минишопа, обрабатываемый в данный момент
$filename Строка Имя файла выгрузки
$start Число Номер первого товара в текущей итерации выгрузки
$export Объект mSyncExportPrepareProcessor Процессор выгрузки

mSyncOnBeforeImport

Вызывается перед началом обработки файлов товаров и торговых предложений

Параметр Значение Описание
$mode Строка "catalog" или "offers" Указывает начата обработка каталога товаров или списка торговых предложений
$filename Строка Имя файла

mSyncOnBeforeImportCategory

Вызывается перед сохранением в БД временных данных категории

Параметр Значение Описание
$xml SimpleXmlElement Объект XML с данными Группы (категории)
$data array Массив полей, которые можно менять в плагине: 'name' - имя категории, 'uuid' - идентификатор в 1С, 'parent_uuid' - идентификатор родительской группы в 1С
$level Число Уровень вложенности категории

mSyncOnBeforeImportProduct

Вызывается перед сохранением в БД временных данных товара

Параметр Значение Описание
$xml SimpleXmlElement Объект XML с данными Товара
$data array Массив полей товара, которые можно менять в плагине: см. var_dump или исходники.

Значение параметра $data можно менять аналогично плагинам на события miniShop2, пример:

if ($modx->event->name == 'mSyncOnBeforeImportCategory') {
    $values = & $modx->event->returnedValues;
    $data['name'] .= "-test";
    $values['data'] = $data;
}

Данный плагин добавит строку "-test" к имени категории.

mSyncAfterImportCategories

Вызывается после того, как категории выгружены во временную таблицу из XML.

Параметр Значение Описание
$total Число Количество выгруженных категорий

mSyncAfterImportProducts

Вызывается после выгрузки всех свойств из XML во временную таблицу.

Параметр Значение Описание
$last Число Номер последнего обработанного товара.
$total Число Количество выгруженных товаров.

mSyncOnPrepareCategory

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

Параметр Значение Описание
$data Объект mSyncCategoryData Объект привязки категории 1С к категории минишопа. Может быть пуст для новой категории.
$uuid Строка Идентификатор категории в 1С.
$parent Число Идентификатор родительской категории в minishop.
$parentUuid Строка Идентификатор родительской категории в 1С.

mSyncOnPrepareProduct

Вызывается перед созданием или обновлением товара минишопа. Позволяет изменить привязку товаров.

Параметр Значение Описание
$data array Массив временных данных товара.
$p Число Идентификатор родительской категории в minishop.
$parent Число Идентификатор родительской категории в minishop.
$properties array Свойства товара

mSyncAfterImportProperties

Вызывается после загрузки списка свойств товаров из XML в сессию выгрузки.

Параметр Значение Описание
$xml SimpleXmlElement Объект XML, содержащий свойства товаров.
$last Число Номер последнего обработанного свойства.
$total Число Количество найденных свойств.

mSyncAfterImport

Вызывается в конце процесса импорта каталога товаров.

Параметр Значение Описание
$totalProducts Число Количество выгруженных товаров.
$totalCategories Число Количество выгруженных категорий.
$importResources Ассоциативный массив Список идентификаторов ресурсов, затронутых в данной выгрузке, разбитый по группам следующим образом: array( 'category' => array('created' => array(), 'updated' => array()), 'product' => array('created' => array(),'updated' => array()).

mSyncOnCatalogFileImport

Вызывается перед загрузкой файла каталога. Позволяет изменить имя файла, если оно отличается от названия по умолчанию.

Параметр Значение Описание
$filename Строка Имя файла

mSyncOnBeforeSalesExport

Вызывается перед экспортом заказа. Позволяет добавлять новые поля в заказ.

Параметр Значение Описание
$order_ext Ассоциативный массив Список свойств товара для выгрузки
$order Объект msOrder Заказ минишопа

mSyncOnSalesExport

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

Параметр Значение Описание
$xml SimpleXMLElement Объект документа с заказами
$orders Массив msOrder Коллекция заказов

mSyncOnImportUnknownFile

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

Параметр Значение Описание
$filename Строка Имя файла