Добавление информации о заказе в письмо-уведомление — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
'''Актуально для версии 2.9'''
 +
 
Задача.
 
Задача.
 
Необходимо добавить в письмо, которое приходит клиенту и администратору сайта информацию о содержимом заказа, а также личные данные пользователя.
 
Необходимо добавить в письмо, которое приходит клиенту и администратору сайта информацию о содержимом заказа, а также личные данные пользователя.
Строка 5: Строка 7:
 
Для реализации поставленной задачи нужно отредактировать шаблон, по которому формируется письмо-уведомление о заказе: \xsltTpls\mail\emarket\default.xsl
 
Для реализации поставленной задачи нужно отредактировать шаблон, по которому формируется письмо-уведомление о заказе: \xsltTpls\mail\emarket\default.xsl
  
В шаблон <source lang="xml"><xsl:template match="status_notification"></source> добавляем <source lang="xml"><xsl:apply-templates select="document(concat('udata://emarket/order/',@order_number))" mode= "unic"/></source>
+
В шаблон <source lang="xml"><xsl:template match="status_notification"></source> добавляем <source lang="xml"><xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/></source>
  
 
А в шаблоны <source lang="xml"><xsl:template match="status_notification_receipt">, <xsl:template match="neworder_notification"></source> добавляем <source lang="xml"><xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/></source>
 
А в шаблоны <source lang="xml"><xsl:template match="status_notification_receipt">, <xsl:template match="neworder_notification"></source> добавляем <source lang="xml"><xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/></source>
Строка 14: Строка 16:
 
<xsl:template match="udata" mode= "unic">
 
<xsl:template match="udata" mode= "unic">
 
   <div class="order">
 
   <div class="order">
   <p>____________________________________________</p>
+
   <hr/>
 
   <xsl:apply-templates select="items/item" mode = "lin"/>
 
   <xsl:apply-templates select="items/item" mode = "lin"/>
   <p>____________________________________________</p>
+
   <hr/>
 
   <p>Всего товаров: <xsl:value-of select="summary/amount" /> шт.</p>
 
   <p>Всего товаров: <xsl:value-of select="summary/amount" /> шт.</p>
 
   <p>На сумму: <xsl:value-of select="summary/price" /><xsl:value-of select="summary/price/@suffix" />. </p>
 
   <p>На сумму: <xsl:value-of select="summary/price" /><xsl:value-of select="summary/price/@suffix" />. </p>
Строка 27: Строка 29:
 
</xsl:template>
 
</xsl:template>
 
</source>
 
</source>
 +
 +
[[Категория:Верстка в XSLT]][[Категория:Модуль Интернет магазин]]

Текущая версия на 06:53, 15 ноября 2013

Актуально для версии 2.9

Задача. Необходимо добавить в письмо, которое приходит клиенту и администратору сайта информацию о содержимом заказа, а также личные данные пользователя.

Решение. Для реализации поставленной задачи нужно отредактировать шаблон, по которому формируется письмо-уведомление о заказе: \xsltTpls\mail\emarket\default.xsl

В шаблон

<xsl:template match="status_notification">

добавляем

<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/>

А в шаблоны

<xsl:template match="status_notification_receipt">, <xsl:template match="neworder_notification">

добавляем

<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/>

Теперь осталось написать шаблон, который будет добавлять требуемую информацию в письмо:

<xsl:template match="udata" mode= "unic">
   <div class="order">
   <hr/>
   <xsl:apply-templates select="items/item" mode = "lin"/>
   <hr/>
   <p>Всего товаров: <xsl:value-of select="summary/amount" /> шт.</p>
   <p>На сумму: <xsl:value-of select="summary/price" /><xsl:value-of select="summary/price/@suffix" />. </p>
   </div>
</xsl:template>
	
<xsl:template match="udata//item" mode= "lin">
   <p><a href="{page/@link}"><xsl:value-of select="@name"/></a></p>
   <p>Цена:  <xsl:value-of select="price"/> <xsl:value-of select="price/@suffix" />. Количество: <xsl:value-of select="amount"/> шт.</p>
</xsl:template>