Как осуществить экспорт в YML?
Материал из Umicms
На данный момент сиcтема создает YML файл с описанием предложения следующего формата:
<offer> <url></url> <price></price> <currencyId></currencyId> <categoryId></categoryId> <name></name> <description> </description> </offer>
В описании этого формата присутствуют и другие элементы, например ссылка на картинку (тег <picture>).
Как экспортировать другие поля, кроме перечисленных выше?
В шаблонах данных нужного вам типа (к примеру, Раздел сайта -> Объект каталога -> Товар в магазине -> телевизор) измените название поля, которое выводит изображение для этого объекта каталога с "photo" на "izobrazhenie". Теперь, в выводе файла импорта YML у тех объектов каталога, у которых есть поле "izobrazhenie" будет присутствовать тег <picture>.
Таким образом, чтобы в файле экспорта появились новые элементы, переименуйте необходимые поля в типах данных, основываясь этой таблице соответствий полей данных и тегов yml:
<xsl:variable name="picture">izobrazhenie</xsl:variable> <xsl:variable name="deliveryIncluded">deliveryIncluded</xsl:variable> <xsl:variable name="price">price</xsl:variable> <xsl:variable name="description">opisanie</xsl:variable> <xsl:variable name="sales_notes">sales_notes</xsl:variable> <xsl:variable name="rate">rate</xsl:variable> <xsl:variable name="plus">plus</xsl:variable>
(полный список можно посмотреть в файле ~/xsl/dump2yml.xsl)
Если необходимо в узел offer добавить id объекта каталога, то необходимо переписать начало шаблона (~/xsl/dump2yml.xsl):
<xsl:template match="object"> ... </xsl:template>
следующим образом:
<xsl:param name="objectId" select="@id"/> <xsl:param name="elementId" select="../element[@objectId = $objectId]/@id"/> <offer id="{$elementId}"> ... </offer>
Кэширование YML для решения проблемы больших каталогов
Для того, чтобы Яндекс получил файл с максимально возможной скоростью, результат в YML кешируется в файл относительно корня сайта ./cache/yml.xml.
В случае, если файла ./cache/yml.xml не существует или время его последней модификации превысило 1 день, то файл создается заново. При изменении параметров конфигурации в панели администрирования (/admin/eshop/export_yml) при нажатии на кнопку "сохранить" кэшированный файл удаляется. И будет создан вновь при обращении к /eshop/yml/
Загрузка каталога в партнерском разделе Яндекса
Убедитесь, в том, что ваш каталог заполнен с указанием цен на товары, т.к. товары у которых нет цены не выгрузятся в YML файл.
