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

Материал из Umicms
Версия от 19:00, 19 марта 2013; Velross (обсуждение | вклад) (Новая страница: «Как можно получить значение %receipt_signature% в XSLT шаблоне? Задача: необходимо в личном кабинете …»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Как можно получить значение %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>

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