Передача значений на кириллице в кастомный метод — различия между версиями
Материал из Umicms
VITL' (обсуждение | вклад) (Новая страница: «Есть некоторая особенность при использовании переменных на кириллице и кастомных метода…») |
(нет различий)
|
Версия 18:25, 26 апреля 2011
Есть некоторая особенность при использовании переменных на кириллице и кастомных методах, в XSL-Шаблоне, переменные необходимо пропускать через php-функцию urlencode. В XSLT возможно использование php-функций, для этого необходимо в stylesheet добавить атрибут xmlns:php="http://php.net/xsl" Используемый XSL-шаблон будет выглядеть примерно следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:php="http://php.net/xsl">
<xsl:template match="udata[@method = 'getObjectsList'][total]">
<!-- param1 - значение на кириллице -->
<xsl:variable name="param1" select="document('upage://11.h1')/udata/property/value" />
Сумма: <xsl:value-of select="document(concat('udata://custom/mycustom/', php:function('urlencode', string($param1))))"/>
...
</xsl:template>
</xsl:stylesheet>
Содержимое метода mycustom(), в файле classes/modules/custom.php, в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных.