Ссылка на платежную квитанцию в личном кабинете (XSLT) — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 6: Строка 6:
 
Однако, возвращать макрос должен не готовую ссылку, а только путь к квитанции, т.е. в return подставим переменную $url.
 
Однако, возвращать макрос должен не готовую ссылку, а только путь к квитанции, т.е. в return подставим переменную $url.
  
Применяем решение для XSLT-шаблона (на примере Интернет-магазин Современный):
+
Применяем решение для XSLT-шаблона (на примере Интернет-магазин Современный):<br>
1. Откройте шаблон: /templates/demodizzy/xslt/modules/emarket/orders-list.xsl
+
1. Откройте шаблон: /templates/demodizzy/xslt/modules/emarket/orders-list.xsl<br>
2. Найдите в файле код: <xsl:apply-templates select="document(concat('uobject://', @id, '.payment_id'))//item/@name" />
+
2. Найдите в файле код: <xsl:apply-templates select="document(concat('uobject://', @id, '.payment_id'))//item/@name" /> <br>
 
и вместо него вставьте следующий код:
 
и вместо него вставьте следующий код:
 
<source lang="xml">
 
<source lang="xml">

Версия 19:02, 19 марта 2013

Как можно получить значение %receipt_signature% в XSLT шаблоне?
Задача: необходимо в личном кабинете добавить ссылку на квитанцию.
Примечание: продолжение статьи Ссылка на платежную квитанцию в личном кабинете применимой для TPL-шаблонизатора.

Используем уже готовый кастомный макрос из статьи для TPL-шаблонизатора receipt_link(). Однако, возвращать макрос должен не готовую ссылку, а только путь к квитанции, т.е. в return подставим переменную $url.

Применяем решение для XSLT-шаблона (на примере Интернет-магазин Современный):
1. Откройте шаблон: /templates/demodizzy/xslt/modules/emarket/orders-list.xsl
2. Найдите в файле код: <xsl:apply-templates select="document(concat('uobject://', @id, '.payment_id'))//item/@name" />
и вместо него вставьте следующий код:

<xsl:variable name="receiptlink" select="document(concat('udata://custom/receiptcustom/',@id))"/>
<a href="{$receiptlink}" target="_blank">
   <xsl:apply-templates select="document(concat('uobject://', @id, '.payment_id'))//item/@name" />
</a>

Теперь, словосочетание «Платежная квитанция» станет ссылкой, нажав на которую, пользователь в новом окне получит квитанцию.