Экспорт в YML (vendor.model) — различия между версиями
Материал из Umicms
VITL' (обсуждение | вклад) (Новая страница: «'''Задача:''' Произвести экспорт в формат ЯндексМаркет (YML) с присутствием таких полей как: vend…») |
Ver (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | == Задача == | |
Произвести экспорт в формат ЯндексМаркет (YML) с присутствием таких полей как: | Произвести экспорт в формат ЯндексМаркет (YML) с присутствием таких полей как: | ||
vendor (производитель), vendorCode (код товара по классификации производителя), model (модель товара), price (цена). | vendor (производитель), vendorCode (код товара по классификации производителя), model (модель товара), price (цена). | ||
− | + | == Необходимые действия == | |
Чтобы на страницах объекта каталога присутствовали данные поля, в «Шаблоне данных» необходимо добавить нужные поля и произвести корректировку файла ~xsl/dump2yml.xsl. | Чтобы на страницах объекта каталога присутствовали данные поля, в «Шаблоне данных» необходимо добавить нужные поля и произвести корректировку файла ~xsl/dump2yml.xsl. | ||
В xsl присутствует такой блок: | В xsl присутствует такой блок: | ||
− | < | + | <source lang="xml"> |
<!-- vendor.model --> | <!-- vendor.model --> | ||
<xsl:variable name="typePrefix">typePrefiks</xsl:variable> | <xsl:variable name="typePrefix">typePrefiks</xsl:variable> | ||
<xsl:variable name="vendor">proizvoditel</xsl:variable> | <xsl:variable name="vendor">proizvoditel</xsl:variable> | ||
<xsl:variable name="model">model</xsl:variable> | <xsl:variable name="model">model</xsl:variable> | ||
− | </ | + | </source> |
К примеру, необходимо чтобы значение proizvoditel совпадало с идентификатором поля Производитель, если у вас он прописан как vendor (в Шаблоне данных), то необходимо proizvoditel изменить на vendor. В блок vendor.model добавляем новую строку для vendorCode: | К примеру, необходимо чтобы значение proizvoditel совпадало с идентификатором поля Производитель, если у вас он прописан как vendor (в Шаблоне данных), то необходимо proizvoditel изменить на vendor. В блок vendor.model добавляем новую строку для vendorCode: | ||
− | < | + | <source lang="xml"> |
<xsl:variable name="vendorCode">vendorcode</xsl:variable> | <xsl:variable name="vendorCode">vendorcode</xsl:variable> | ||
− | </ | + | </source> |
И далее после строк: | И далее после строк: | ||
− | < | + | <source lang="xml"> |
<vendor><xsl:value-of select=".//property[name = $vendor]//value"/></vendor> | <vendor><xsl:value-of select=".//property[name = $vendor]//value"/></vendor> | ||
<model><xsl:value-of select=".//property[name = $model]//value"/></model> | <model><xsl:value-of select=".//property[name = $model]//value"/></model> | ||
− | </ | + | </source> |
Добавляем: | Добавляем: | ||
− | < | + | <source lang="xml"> |
<xsl:if test=".//property[name = $vendorCode]//value != ''"> | <xsl:if test=".//property[name = $vendorCode]//value != ''"> | ||
<vendorCode><xsl:value-of select=".//property[name = $vendorCode]//value"/></vendorCode> | <vendorCode><xsl:value-of select=".//property[name = $vendorCode]//value"/></vendorCode> | ||
</xsl:if> | </xsl:if> | ||
− | </ | + | </source> |
Чтобы экспортировались все поля, они должны быть заполнены. | Чтобы экспортировались все поля, они должны быть заполнены. |
Версия 14:47, 27 февраля 2010
Задача
Произвести экспорт в формат ЯндексМаркет (YML) с присутствием таких полей как: vendor (производитель), vendorCode (код товара по классификации производителя), model (модель товара), price (цена).
Необходимые действия
Чтобы на страницах объекта каталога присутствовали данные поля, в «Шаблоне данных» необходимо добавить нужные поля и произвести корректировку файла ~xsl/dump2yml.xsl. В xsl присутствует такой блок:
<!-- vendor.model -->
<xsl:variable name="typePrefix">typePrefiks</xsl:variable>
<xsl:variable name="vendor">proizvoditel</xsl:variable>
<xsl:variable name="model">model</xsl:variable>
К примеру, необходимо чтобы значение proizvoditel совпадало с идентификатором поля Производитель, если у вас он прописан как vendor (в Шаблоне данных), то необходимо proizvoditel изменить на vendor. В блок vendor.model добавляем новую строку для vendorCode:
<xsl:variable name="vendorCode">vendorcode</xsl:variable>
И далее после строк:
<vendor><xsl:value-of select=".//property[name = $vendor]//value"/></vendor>
<model><xsl:value-of select=".//property[name = $model]//value"/></model>
Добавляем:
<xsl:if test=".//property[name = $vendorCode]//value != ''">
<vendorCode><xsl:value-of select=".//property[name = $vendorCode]//value"/></vendorCode>
</xsl:if>
Чтобы экспортировались все поля, они должны быть заполнены.