Экспорт в YML (sales notes) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 5: Строка 5:
  
 
'''Решение'''
 
'''Решение'''
 
 
 
Общий принцип кастомизации описан в статье [http://wiki.umisoft.ru/Настройка_экспорта_в_YML_Яндекс-маркет "Настройка экспорта в YML Яндекс-маркет"].
 
Общий принцип кастомизации описан в статье [http://wiki.umisoft.ru/Настройка_экспорта_в_YML_Яндекс-маркет "Настройка экспорта в YML Яндекс-маркет"].
 
  
 
Для решения нашей задачи мы обратимcя к свойству товаров "Общее количество на складах" (идентификтаор [common_quantity]). Если значение данного свойства у товара будет равно 0, то условия продажи будут передаваться в YML как для товаров доступных только под заказ.
 
Для решения нашей задачи мы обратимcя к свойству товаров "Общее количество на складах" (идентификтаор [common_quantity]). Если значение данного свойства у товара будет равно 0, то условия продажи будут передаваться в YML как для товаров доступных только под заказ.

Версия 09:54, 1 февраля 2019

Задача

Иногда требуется кастомизировать экспорт каталога в 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' соответствующее товару под заказ.