Skip to content
ms3YandexMarket
ms3YandexMarket
Файл YML для Яндекс Маркета или RSS для Google из товаров MiniShop3
  • MODX 3
  • PHP 8.2
  • miniShop3
  • Vue 3
  1. Extras
  2. ms3YandexMarket
  3. Начало работы
  4. Действия

Действия ​

Права на действие ​

ДействиеПраво
Список, карточка, диагностика, журнал, фрагмент XML, полный предпросмотр, чтение и скачивание файлаms3yandexmarket_view
Создание и сохранение прайса, чтение и запись тегов, атрибутов и условий, категорииms3yandexmarket_manage
Сгенерировать и запуск всех ожидающих прайсовms3yandexmarket_generate
Тип тега 19ещё ms3yandexmarket_edit_raw_xml
Непустой handler или значение с префиксом fenom:ещё ms3yandexmarket_edit_fenom

Чтение дерева тегов и условий требует ms3yandexmarket_manage. Права своего XML и Fenom установщик кладёт в политику. Без них сохранение отвечает 403. См. настройки и права.

Список прайсов ​

ДействиеЧто происходит
ПоискСписок по названию. Пустая строка возвращает все прайсы
СоздатьКарточка нового прайса. В базе строки ещё нет
НазваниеОткрывает карточку. Под ним #id · площадка · режим и флаги, если они есть
Иконка правкиТо же
Иконка удаленияСпрашивает подтверждение. Удаляет прайс, его категории, запуски журнала, сообщения, условия и дерево тегов. Файл на диске остаётся

Шапка карточки ​

Создать на новом прайсе требует название. Кнопка пишет карточку и собирает дерево тегов по площадке и назначению. После записи видны вкладки Предложения и Генерация.

КнопкаЧто пишетЧто уходит в каждом запросе
Сохранить в шапкеНазвание, описание, активность, источники предложений и остатков, режим, интервал, тип оффера, площадка, назначение, путь, URL, отмеченные категории. При placement ещё список управляемых полей. Теги дерева не пишетИсточник предложений, источник остатков, режим, интервал, тип оффера, площадка, назначение, категории. При placement ещё список управляемых полей
Сохранить настройкиРежим, интервал, площадка, путь, URLРежим, интервал, площадка. Источника предложений и категорий нет

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

  • Сохранить: эти ключи уходят в каждом запросе. Отметка встаёт и тогда, когда менялись только название, описание, активность, путь или URL.
  • Сохранить настройки: отметка встаёт всегда.

Смена площадки или назначения стирает дерево тегов и заполняет его заново под новый профиль.

Отмена возвращает к списку и не пишет форму.

Тег ​

Сохранить тег пишет имя, источник и переключатель Выводить в файл сразу и обновляет панель XML. До нажатия поля остаются только в форме. Чужая version отвечает 409. Тег не перезаписывается. Откройте его снова.

Выключенный тег в списке бледнее. В файл он не попадает.

Кнопок добавить тег, удалить тег и поменять порядок в дереве нет. Набор тегов задаётся при создании прайса по площадке и назначению.

Атрибут ​

Добавить атрибут сразу создаёт атрибут с именем id и пустым значением.

Сохранить у атрибута пишет имя и значение. Удалить убирает атрибут. Обе кнопки требуют актуальную version.

Имя id или available на узле offer в файл отдельным атрибутом не копируется. Их занимают атрибуты предложения из одноимённых вложенных тегов.

Категории ​

Флажок раздела, флажок Исключена и Своё название меняют только форму. В базу они попадают по Сохранить в шапке. Снятие флажка раздела сбрасывает «исключена» в форме.

Предпросмотр категорий читает уже сохранённый набор. Пока шапка не сохранена, панель XML показывает старые разделы.

Фильтры ​

Блок Фильтры есть на Магазине (target = resource) и на Предложениях (target = offer).

КнопкаЧто происходит
Добавить условиеСразу пишет строку: первая колонка списка, оператор =, пустое значение
Сохранить у строкиПишет колонку, оператор и значение этой строки
Удалить у строкиУдаляет условие

Подсказки берут опубликованные товары: не больше 100 разных строк, в списке 30. Для is null и is not null поле значения скрыто и при сохранении уходит пустым.

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

Таблица предложений ​

Вкладка Предложения при первом открытии запрашивает порцию из 20 строк. Поиск сужает по строке и возвращает на первую страницу. Назад и Дальше листают порции, если строк больше 20.

Над таблицей счётчики: найдено, пропущено, просмотрено товаров.

ID товара и ID варианта задают фрагмент XML одного предложения.

  • Без id товара эта панель пустая
  • Неверный variant_id и строка, которую убрал skip или exclude, дают HTTP 422, код domain_error. Пустой XML не приходит
  • Файл на диске этот запрос не меняет
  • Фрагмент читает сохранённые теги, не черновик формы тега

Генерация ​

Сохранить настройки пишет режим, интервал, площадку, путь и URL. Площадка здесь та же, что в шапке: её смена заново собирает дерево тегов.

КнопкаПравоФайл
СгенерироватьgenerateПишет. Повтор во время записи отвечает generation_locked
Предпросмотр YMLviewСборка в памяти, файл не меняется
Показать сгенерированный YMLviewТекст уже записанного файла
Скачать YMLviewТот же файл как загрузку

Пока идёт Сгенерировать, журнал под кнопками обновляется каждые 1,5 секунды и показывает последние 80 строк. Опрос останавливается на статусе success, error, warning или partial.

Кнопки «сгенерировать все ожидающие» в менеджере нет. Тот же отбор делают планировщик и cron.php.

Панели XML ​

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

Для Яндекса панель показывает фрагмент: магазин, категории или одно предложение. Для google.rss20 панель категорий пишет комментарий, что элемента категорий нет. Панели магазина и предложения у Google показывают весь RSS, не кусок дерева тегов.

Логи ​

ДействиеЧто происходит
Поиск, ОбновитьЧитают журнал. Непустой номер в фильтре оставляет запуски этого прайса. Пустое поле показывает все
ПодробнееОткрывает запуск: статус, счётчики, ссылку на прайс и список сообщений. В строке уровень, текст и при наличии тип id · поле. Пустой список: замечаний не было
НазадВозвращает к списку журнала

Потолок числа сообщений задаёт ms3yandexmarket_log_entry_cap. Ссылка на прайс открывает его карточку.

Диагностика ​

Раздел только читает среду. Кнопок записи нет.

  • среда: PHP, версия компонента, размер порции
  • зависимости: MiniShop3, Fenom, Scheduler и его задача
  • варианты, остатки
  • файлы: путь и можно ли писать в каталог

Разбор строк: журнал и диагностика.