Добрый день.
Искала где нибудь пример для xslt подобный этому:http://wiki.umisoft.ru/%D0%9A%D0%B0%D0%BA_%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8E_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B5 (http://wiki.umisoft.ru/%D0%9A%D0%B0%D0%BA_%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8_%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8E_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%B2_%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B5)
в голову пришло только код вида:
<xsl:variable name="opisanie_tovara" select="document(concat('upage://', @id))/udata"/>
<xsl:choose>
<xsl:when test="$opisanie_tovara//property[@name='photo']/value">
<img src="{$opisanie_tovara//property[@name='photo']/value}" width="50"/>
</xsl:when>
</xsl:choose>
Но понятное дело что он не работает.
хотя вроде есть есть id товара то должно вроде как работать...
Может кто уже реализовал подобный функционал?
<xsl:variable name="min_photo" select="document(concat('upage://', page/@id))/udata"/>
<xsl:choose>
<xsl:when test="$min_photo//property[@name='photo']/value">
<img src="{$min_photo//property[@name='photo']/value}" width="50"/>
</xsl:when>
</xsl:choose>
Не правильно выводила ID товара.
было upage://', @id))
а надо было upage://', page/@id))
не, когда то это над другим проектом.
тут переделывается на базе demodizzy.
шаблон нашла в xslt Tpls\mail\emarket\default.
Письмо приходит вида:
Ваш заказ #9 поступил в обработку
Посмотреть историю заказов вы можете в своем личном кабинете.
Квитанцию на оплату вы можете получить, перейдя по этой ссылке.
шаблон используется в данном случае такой
<xsl:template match="status_notification">
<xsl:text>Ваш заказ #</xsl:text>
<xsl:value-of select="order_number" />
<xsl:text> </xsl:text>
<xsl:value-of select="status" />
<br/><br/>
<xsl:text>Посмотреть историю заказов вы можете в своем </xsl:text>
<a href="http://{domain}/emarket/personal/">
<xsl:text>личном кабинете</xsl:text>
</a>.
</xsl:template>
и все равно смысл не меняется, просто вместо
макроcы %emarket order(%order_id%)% и %data getPropertyOfObject(%order_id%,delivery_id)% и т.п. вам в помощь
вы используете
<xsl:variable name="order_info" select="document(concat('uobject://',order_number))/udata"/>
теперь в переменно $order_info у вас вся инфа о заказе
вместо %data getPropertyOfObject(%order_id%,delivery_id)% используете
<xsl:value-of select="$order_info//property[@name='delivery_id']/value"/>
вместо %emarket order(%order_id%)% используете
<xsl:apply-templates select="document(concat('udata://emarket/order/',order_number))/udata"/>
для которого вы можете настроит свой отдельный шаблон, можно дополнительно заглянуть в документацию (http://help-dev.umi-cms.ru/emarket.order.html#xsltDesc)
если инотересно что и как выводить из переменной $order_info, то наберите в адресной строке http://ваш_сайт/uobject/123
где 123 - id какого-нибудь уже существующего заказа
help help help
<xsl:variable name="order_info" select="document(concat('uobject://',order_id))/udata"/>
размещаю в области <xsl:stylesheet .....> </xsl:stylesheet>
По логике как было указано в переменную $order_info должна поместиться вся инфа о заказе что можно увидеть введя в адресной строке: http://umi.site.com/uobject://17542
кусочек того что выдает:
<udata xmlns:xlink="http://www.w3.org/TR/xlink" generation-time="0.037899">
<object id="17542" name="Заказ #102" type-id="79" type-guid="emarket-order" ownerId="10">
<properties>
<group id="198" name="order_props">
<title>Свойства заказа</title>
<property id="246" name="order_items" type="relation" multiple="multiple">
<title>Наименования заказа</title>
<value>
<item id="17543" name="Набор Автомобиль" type-id="75" type-guid="emarket-orderitem" ownerId="10" xlink:href="uobject://17543"/>
<item id="17544" name="Набор Фреш-бар" type-id="75" type-guid="emarket-orderitem" ownerId="10" xlink:href="uobject://17544"/>
<item id="17545" name="Набор Семья ежиков" type-id="75" type-guid="emarket-orderitem" ownerId="10" xlink:href="uobject://17545"/>
</value>
</property>
значит можно вытащить какое либо значение,
правильно ли я пишу запрос для вывода какого либо параметра, например значения в атрибуте name в item
<xsl:value-of select="$order_info//property[@name='order_items']/value/item/@name" />
т.к. не выводит ничего в ответ.
Добрый день.
Подскажите, как возможно вытащить в шаблон письма выбранный способ доставки.
Заказчик при оформлении заказа выбирает "самовывоз" или "курьерская доставка"
но об этом выборе в выдаче:
http://umi.site.com/udata://emarket/order/id_заказа
нет данных о способе доставки...
так как эту информацию стоит вытаскивать из
http://umi.site.com/uobject://17542
с прошлым вопросом, про вытаскивание названия товара разобрались?