Возвращает свойство страницы сайта. Свойством является атрибут или параметр тэга node, определяющий страницу в menu.xml. Начиная с версии 4.20 возможно подключение дополнительного набора свойств для страниц используя сущность с предопределенным id="pageproperty".
Применяется для различных программных трюков, в частности для вывода alias или id текущей страницы в javascript блоках отрисовки динамических меню.
Наиболее эффективно данный макрос используется для вывода "самодельных" свойств страниц. "Twilight CMS" позволяет разработчику добавить в тэг node дополнительный дочерний тэг (параметр) или дополнительный атрибут, определив новое свойство для страницы. Так можно добавлять дополнительные блоки, привязывать к страницам графические элементы и т.п. При этом рекомендуется атрибуты использовать для "системных" по смыслу, то есть невидимых редактором сайта свойств страниц, а параметры - для более длинных, открытых к просмотру или редактированию.
Пример №1
$NodeProperty[something]$ - возвращает свойство something для текущей страницы
Пример №2
$NodeProperty[nodeid: someid; property: prop_name]$ - возвращает свойство prop_name для страницы с идентификатором someid
Пример №3
Если определить дополнительный перечислимый тип (см. описание раздела declaration для файла menu.xml), привязанный к этому параметру, редактор сайта получит возможность в админзоне с помощью мыши выбирать значение свойства страницы из выпадающего списка. В данном примере показано, как на этом сайте реализованы графические подзаголовки для страниц.
Часть файла menu.xml с описанием типа image-titles:
<declaration>
<image-titles>
<item value="o.gif" />
<item value="head_download.gif" />
<item value="head_partners.gif" />
<item value="head_portfolio.gif" />
<item value="head_description.gif" />
</image-titles>
</declaration>
Часть файла menu.xml, определяющая структуру для новых страниц, создаваемых редактором через админзону в разделе default:
<node id="" title="Новый документ" assign="">
<alias title="Псевдоним страницы" editable="true" />
<template title="Шаблон фронтзоны" editable="true" type="front-templates">internal</template>
<admin_template title="Шаблон админзоны" editable="false" type="back-templates">page_full_edit</admin_template>
<image-title editable="true" title="Графический заголовок" type="image-titles">o.gif</image-title>
</node>
Подстановка, отображающая картинку, соответствующую текущей странице:
<IMG src="$NodeProperty[image-title]$">
Примечание: показанный в этом примере способ реализации данной функциональности не единственный. Также, использование перечислимых свойств страниц не является обязательным, а приведено в качестве комплексного примера.