Экспорт в YML (sales notes) — различия между версиями
Xakep2003 (обсуждение | вклад) (Новая страница: «'''Задача''' Иногда требуется кастомизировать экспорт каталога в YML. Например, если мы хот…») |
Whoa (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | ''' | + | '''Актуально для версии 20.''' |
− | |||
− | |||
− | |||
+ | Иногда требуется кастомизировать экспорт каталога в YML. Например, если мы хотим, чтобы условия продажи товара ([https://yandex.ru/support/partnermarket/elements/sales_notes.html sales_notes] в yml) отличались у товаров, которые присутствуют на складе и у тех, которые доступны только на заказ. | ||
'''Решение''' | '''Решение''' | ||
− | |||
Общий принцип кастомизации описан в статье [http://wiki.umisoft.ru/Настройка_экспорта_в_YML_Яндекс-маркет "Настройка экспорта в YML Яндекс-маркет"]. | Общий принцип кастомизации описан в статье [http://wiki.umisoft.ru/Настройка_экспорта_в_YML_Яндекс-маркет "Настройка экспорта в YML Яндекс-маркет"]. | ||
− | + | Для решения нашей задачи обратимcя к свойству товаров "Общее количество на складах" (идентификатор [common_quantity]). Если значение данного свойства у товара будет равно 0, то условия продажи будут передаваться в YML как для товаров доступных только под заказ. | |
− | Для решения нашей задачи | ||
<source lang='xml'> | <source lang='xml'> |
Текущая версия на 09:57, 1 февраля 2019
Актуально для версии 20.
Иногда требуется кастомизировать экспорт каталога в YML. Например, если мы хотим, чтобы условия продажи товара (sales_notes в yml) отличались у товаров, которые присутствуют на складе и у тех, которые доступны только на заказ.
Решение
Общий принцип кастомизации описан в статье "Настройка экспорта в YML Яндекс-маркет".
Для решения нашей задачи обратимcя к свойству товаров "Общее количество на складах" (идентификатор [common_quantity]). Если значение данного свойства у товара будет равно 0, то условия продажи будут передаваться в YML как для товаров доступных только под заказ.
<xsl:choose>
<xsl:when test=".//property[@name = 'common_quantity']/value > 0">
<sales_notes>100%</sales_notes>
</xsl:when>
<xsl:otherwise>
<sales_notes>50%</sales_notes>
</xsl:otherwise>
</xsl:choose>
Мы использовали элемент <xsl:choose> для вычисления выражения. В атрибуте 'test' элемента <xsl:when> производим сравнение данных. Если тестовое выражение не будет соответствовать истине, то элемент <xsl:otherwise> передаст значение 'sales_notes' соответствующее товару под заказ.