Псевдостатический адрес в tpl

Материал из Umicms
Версия от 11:30, 5 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

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

Для получения псевдостатического адреса текущей страницы, нам необходимо обратится к полю %alt_name%
В XSLT это обращение выглядит как:

<xsl:value-of select="//page[last()]/@alt-name" />

Однако в административной части использование xslt невозможно. В связи с чем вы воспользуемся средствами tpl.
Для начала откроем папку с tpl шаблонами. Это может быть /tpls/ или /templates/tpl_name/tpls/. Теперь находим папку data, куда будут происходить обращения макроса %data getProperty%.
В этой папке создадим шаблон cpu.tpl со следующим содержимым:

<?php
$FORMS['string'] = "%alt_name%"
?>

или, если вам необходимо добавить HTML\JS код

<?php
$FORMS = Array();

$FORMS['string'] = <<<END
	%alt_name%
END;
?>

Теперь, для отображения псевдостатического адреса, в контексте объекта мы можем использовать конструкцию %alt_name%, которая нам вернет псевдостатический адрес текущий страницы, или %data getProperty(%pid%, 'h1', 'cpu')% для получения адресов от других страниц. Где %pid% это идентификатор нужной страницы.

 Поскольку получение поля %alt_name% нигде не задокументировано, в некоторых ситуациях это может работать не так, как описано.