Передача значений на кириллице в кастомный метод — различия между версиями
Материал из Umicms
Cmac (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
Содержимое метода '''mycustom()''', в файле '''classes/modules/custom.php''', в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных. | Содержимое метода '''mycustom()''', в файле '''classes/modules/custom.php''', в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных. | ||
− | + | [[Категория:Верстка в XSLT]] |
Текущая версия на 20:27, 4 июня 2013
Есть некоторая особенность при использовании переменных на кириллице и кастомных методах, в 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, в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных.