Передача значений на кириллице в кастомный метод — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Есть некоторая особенность при использовании переменных на кириллице и кастомных метода…»)
 
Строка 23: Строка 23:
  
 
Содержимое метода '''mycustom()''', в файле '''classes/modules/custom.php''', в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных.
 
Содержимое метода '''mycustom()''', в файле '''classes/modules/custom.php''', в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных.
 +
[[Категория:Шаблонизаторы]][[Категория:Верстка в XSLT]]

Версия 08:54, 8 сентября 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, в данном случае не имеет значения, главное что переменная будет корректно передана и ее можно будет использовать в своем кастомном методе, в котором может быть произведена какая-либо дополнительная выборка данных.