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

Материал из Umicms
Перейти к:навигация, поиск

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

Как можно получить значение %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/receipt_link/',@id))"/>
<a href="{$receiptlink}" target="_blank">
   <xsl:apply-templates select="document(concat('uobject://', @id, '.payment_id'))//item/@name" />
</a>

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