UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: shoto от 12 Апреля 2012, 15:43:20

Название: вывод картинки товара в корзине
Отправлено: shoto от 12 Апреля 2012, 15:43:20
Добрый день.
Искала где нибудь пример для 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 товара то должно вроде как работать...
Может кто уже реализовал подобный функционал?
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 12 Апреля 2012, 17:22:31
точнее... этот код работал бы если бы на странице корзины был бы ID товара... но там другой Id...
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 12 Апреля 2012, 17:53:51
<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))
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 13 Апреля 2012, 08:03:31
то есть, с вопросом вы разобрались?
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 13 Апреля 2012, 08:46:31
с тем как вывести в корзину - да.
но надо еще теперь разобраться как вывести всю туже информацию, т.е. картинку, название товара, его цену и количество в письме отправляется клиенту и менеджеру интернет-магазина.
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 13 Апреля 2012, 14:13:06
а в чем сложность? шаблон для письма знаете где лежит? макроcы %emarket order(%order_id%)% и %data getPropertyOfObject(%order_id%,delivery_id)% и т.п. вам в помощь
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 13 Апреля 2012, 15:17:41
где лежит шаблон - не знаю... tpl-шный когда то правила, на XSLT...
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 13 Апреля 2012, 15:25:31
скорее всего система в вашем случае все еще использует шаблон /tpls/emarket/mail/default.tpl если да, то все выше написанное мною остается в силе, если нет пишите будет вместе разбираться
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 14 Апреля 2012, 12:30:37
не, когда то это над другим проектом.
тут переделывается на базе 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>
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 14 Апреля 2012, 14:08:24
и все равно смысл не меняется, просто вместо
Цитировать
макро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 какого-нибудь уже существующего заказа


Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 07 Мая 2012, 13:19:20
скорее всего система в вашем случае все еще использует шаблон /tpls/emarket/mail/default.tpl если да, то все выше написанное мною остается в силе.
а как так получается что сайт на xslt, а отправка писем - используется TPL?
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 07 Мая 2012, 14:30:07
и как сделать что бы система использовала таки шаблон на XSLT что лежит в xslt Tpls\mail\emarket\default.
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 15 Мая 2012, 00:01:14
Цитировать
вместо  %data getPropertyOfObject(%order_id%,delivery_id)% используете
Код:
<xsl:value-of  select="$order_info//property[@name='delivery_id']/value"/>

не понимаю для чего эта конструкция тут нужна.
и как мне правильно выводить из этой переменной значения, что в ней содержатся.
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 15 Мая 2012, 12:00:24
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" />
т.к. не выводит ничего в ответ.
Название: Re:вывод картинки товара в корзине
Отправлено: andreych от 17 Мая 2012, 19:09:02
order_id это что такое?
есть вариант, что это либо переменная $order_id, либо попытка вытащить айди из тега order, т.е. order/@id

плюс, размещая в теге stylesheet переменную, мы делаем ее абсолютной, так ли нужно?
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 22 Мая 2012, 12:51:27
Добрый день.
Подскажите, как возможно вытащить в шаблон письма выбранный способ доставки.
Заказчик при оформлении заказа выбирает "самовывоз" или "курьерская доставка"
но об этом выборе в выдаче:
http://umi.site.com/udata://emarket/order/id_заказа
нет данных о способе доставки...
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 27 Мая 2012, 03:40:01
так как эту информацию стоит вытаскивать из
http://umi.site.com/uobject://17542

с прошлым вопросом, про вытаскивание названия товара разобрались?
Название: Re:вывод картинки товара в корзине
Отправлено: shoto от 28 Мая 2012, 11:55:04
так как эту информацию стоит вытаскивать из
http://umi.site.com/uobject://17542

с прошлым вопросом, про вытаскивание названия товара разобрались?
точно!:)
спасибо, с вытаскиванием названия товара разобрались и картинку вытаскиваем, осталось вот способ доставки указать.
Название: Re:вывод картинки товара в корзине
Отправлено: admin от 31 Мая 2012, 07:56:13
способ доставки оттуда же тяните