немного правлю админку интернет магазина столкнулся с проблемой - скорее мое непонимание протокола uobject
в частности задача вывести в списке позиций - возле ссылки на карточку товара еще несколько полей из товара
собственно делаю на основе styles/skins/mac/data/modules/eshop/form.modify.xsl
<xsl:template match="object" mode="order-item-row">
<xsl:variable name="order-item-discount" select="//property[@name = 'discount_size']/value" />
<xsl:variable name="element-edit-link" select="document(concat('udata://system/getEditLink/', //property[@name = 'catalog_relation']/value))/udata" />
<tr>
<td>
<a href="{$element-edit-link}">
<xsl:value-of select="@name" />
</a>
</td>
вот тут мне и нужно вывести поле товара, называемое "nalichie"
думал что получится следующий вариант
<xsl:value-of select="document(concat('uobject://', //property[@name = 'catalog_relation']/value))/udata/object//property[@name = 'nalichie']/value" />
но он не работает, может подскажите как же правильно вывести поле из каталога
eshop сейчас нет под рукой чтобы посмотреть как он устроен, но предполагаю что дело в том, что и откуда вы пытаетесь вывести
проверте есть ли в возвращаемом результате такого кода
<xsl:copy-of select="document(concat('uobject://', //property[@name = 'catalog_relation']/value))/udata" />
а вообще заглянув в старый архив увидел такой код
<xsl:variable name="order-object-info" select="document(@xlink:href)/udata/object"/>
<xsl:variable name="element-id" select="$order-object-info//property[@name = 'catalog_relation']/value"/>
<xsl:variable name="element-info" select="document(concat('upage://', $element-id))/udata/page"/>
<xsl:variable name="element-price" select="$element-info//property[@name = 'price']/value"/>
так что property[@name = 'catalog_relation']/value возвращает не id объекта "товар в корзине" , а id страницы товара который положили в корзину
спасибо за подробный ответ
может быть подскажите какой-то способ попроще все-таки получить Id товара (вернее мне-то нужно определенное поле товара)
пробовал таким образом... но что-то полностью запутался
<xsl:value-of select="document(concat('upage://', //property[@name = 'catalog_relation']/value, '.nalichie'))//value" disable-output-escaping="yes"/>
попробовал вроде так работает http://vilka.by/upage/26640.nalichie
<udata generation-time="0.007592"><property id="9188" name="nalichie" type="relation"><title>Наличие</title><value><item id="58141" name="Постараемся привезти :)" type-id="707" ownerId="44897" xlink:href="uobject://58141"/></value></property></udata><!-- This page generated in 0.072996 secs -->