Skip to content
ms3YandexMarket
ms3YandexMarket
Файл YML для Яндекс Маркета или RSS для Google из товаров MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Компоненты
  2. ms3YandexMarket
  3. Интеграция
  4. События

События ​

Плагин слушает чужие события. Сервис генерации вызывает свои.

Входящие ​

Отметка не ставится прайсу manual, прайсу, в чьи категории товар не входит, и никому, если ms3yandexmarket_enabled равен 0. Пустой выбор категорий означает «все категории». Категориями для отметки и для выборки файла считаются родитель ресурса и строки связей.

СобытиеЧто делает компонент
OnDocFormSaveДля товара и категории MiniShop3 отмечает подходящие прайсы
OnDocPublishedТо же
OnDocUnPublishedТо же
ms3remainsOnAfterRemainChangeТо же. Идентификатор товара берётся из product_id. Если его нет, отмечаются все активные прайсы не в режиме manual

Исходящие ​

Все вызовы идут через $modx->invokeEvent. В параметрах есть объект прайса и pricelist_id, если не сказано иное.

На пути tree_v2 событие OnMs3YandexMarketBeforeWrite не вызывается.

CategoriesQuery есть только у назначения catalog, когда корни категорий выбраны. Тогда оно идёт сразу после BeforeGenerate и до BeforeQuery. AfterOffer на этом пути вызывается после порога остатка и до записи предложения.

СобытиеКогдаДополнительно
OnMs3YandexMarketBeforeGenerateДо чтения товаров, после блокировки и старта журнала
OnMs3YandexMarketBeforeQueryДо выборки товаровcontext = offers
OnMs3YandexMarketBeforeOfferНа каждую строку товара или вариантаrow
OnMs3YandexMarketAfterOfferНа дереве полей: после проверки id товара и после порога остатка. Строка без id и строка, которую убрал порог, событие не получают. offer на этом пути null. На пути RSS событие идёт после сборки предложения и вызывается даже если сборка не удаласьrow, offer
OnMs3YandexMarketOffersQueryПосле сборки предложений. При записи YML из дерева полей не вызывается. Вызывается у Google RSS и у записи YML прайса без дерева полейoffers_count
OnMs3YandexMarketBeforeWritingOfferПеред записью одного предложения из дерева полейrow
OnMs3YandexMarketBeforeWritingCategoryПеред записью категории из дерева полейcategory
OnMs3YandexMarketCategoriesQueryПеред обходом выбранных корней категорий. Если корни не выбраны, событие не вызываетсяroot_ids
OnMs3YandexMarketBeforeWriteПеред записью Google RSS и перед записью YML прайса без дерева полей. При записи YML из дерева полей не вызываетсяoffers_count
OnMs3YandexMarketAfterGenerateПосле подмены файла, в том числе если в журнале статус error из‑за числа ошибок. В catch при исключении не вызывается. Отметка «нужно сгенерировать» снимается только при статусе не errorresult