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

Поля файла ​

Вкладка «Магазин» ​

Вкладка «Магазин» ms3YandexMarket

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

Имя справа (<name> и подобные) становится именем тега в XML.

РежимЧто пишет
ТекстСтрока внутрь тега
ПредложенияВложенные теги без своего текста

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

Откуда брать текст ​

У тега магазина разбираются только setting: и value:. Строка field:pagetitle или data:price в теге магазина попадёт в XML как введённый текст.

Выберите поле товара или введите своё значение. Формат: тип:ключ. Примеры: field:pagetitle, data:price, value:Мой магазин, setting:site_url.

Если источник не выбран, тег предложения в XML пустой. Пустой источник у тега магазина подставляет одноимённый ключ shop_settings (name, company, url). У нового прайса эти ключи пустые, поэтому тег не пишется. Предпросмотр тогда выглядит как <shop><offers/></shop>.

Переключатель Выводить в файл делает выключенный тег в списке бледнее. Выключенный тег в файл не пишется, даже если текст есть. То же для шапки RSS: неактивные title, link, description в канал не попадают. Если поля active нет, тег считается включённым.

Имя тега меняет имя в XML. Добавить атрибут добавляет свойство тега, например id.

Полный список префиксов: источники значений.

Типы тега ​

Число хранится в базе. В карточке видно русское имя.

ЧислоВ карточкеЧто пишется
0ТекстТекст внутри тега, спецсимволы экранируются
12Текст без разметкиТо же в секции CDATA. Так создаётся description каталога
13КартинкаURL картинки внутри тега
19Свой XMLПеред сохранением фрагмент проверяется. В файл вставляется как разметка, без экранирования
11ЗначениеТекст, как у обычного тега
4, 5Категории, предложенияОсобые обходы: категории из выбранных разделов, предложения из товаров
10ГруппаВнутри предложения обходит детей
1, 2, 6Корень, магазин, предложениеУзлы дерева. Свой текст не пишется
14, 15Категории, предложенияСвоего тега нет, дети поднимаются на уровень родителя
3, 7, 20Валюты, категория, пустойПишут свой тег и обходят детей. У 20 пустая внутренняя разметка тег не создаёт

Тег с именем id внутри шаблона предложения не становится вложенным элементом. Его текст уходит в атрибут id. Тег available уходит в атрибут available.

Пустой текст оба атрибута не ставит.

Атрибуты узла offer, кроме id и available, пишутся как есть. Поле Тип оффера в шапке к ним не относится.

Поля предложения ​

Теги блока Поля предложения попадают в каждый offer: название, цена, url, артикул, картинка.

pipeline:url, pipeline:image, pipeline:price, pipeline:old_price, pipeline:vendor считают значения по правилам на странице источники значений. Фиксированный текст задаёт префикс value:.

Свой XML и Fenom ​

Тип тега 19 перед сохранением проверяется как XML. Пустая строка допустима, битый XML нет. Несколько соседних тегов без общего корня тоже проходят проверку. В файл проверенный фрагмент вставляется как разметка (writeRaw), без экранирования. Пустой фрагмент тег не даёт.

Где фрагментЕсли невалидный
магазинпропускается без строки журнала
предложениепропускается и даёт ошибку журнала RAW XML value is not a well-formed XML fragment

Префикс fenom: считается через pdoTools. PHP в таком тексте не выполняется.

Сохранение типа 19 требует права ms3yandexmarket_edit_raw_xml. Непустой handler и значение с префиксом fenom: у тега или атрибута требуют ms3yandexmarket_edit_fenom. В карточке тега поля обработчика нет. Без права ответ 403. Оба ключа установщик кладёт в политику. См. настройки и права.