Skip to content

Специальные аргументы для функции ltr:url_code

Ivan edited this page Apr 5, 2016 · 5 revisions

Функция ltr:url_code умеет специальным образом обрабатывать аргументы, начинающиеся с символа -. Для такого аргумента можно установить значение через функцию AddURLCodeParameter(name, value) и в таком случае вместо этого аргумента будет добавлен аргумент без префикса и значение. Если же для такого аргумента не было задано значение, то он игнорируется и не добавляется к ключу.

Пример:

my $st = $engine->LoadStylesheet($XSLT);
// название аргумента должно быть без префикса
$st->AddURLCodeParameter("atype", "5");

Теперь в самой функции:

<xsl:value-of select="ltr:url_code('-atype', 0, 'test')"/>

Итоговый ключ будет выглядеть так: atype,5,0,test. Если же мы не установим значение для такого аргумента, то ключ будет выглядеть так: 0,test.

Для сброса всех значений аргументов используется функция ResetURLCodeParameters().

my $st = $engine->LoadStylesheet($XSLT);
$st->ResetURLCodeParameters();