А у нас новый сайт ----------------> www.ph-ph.ru!
Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Page Variables в PmWiki простым русскими словами

Автор: Филипп Казаков | 2013-07-30 | просмотров 2615
Тэги

темы: PmWiki

Page Variables (PV)? - это вставки php-кода, исполняемые в момент взаимодействия со страницей. Под взаимодействием подразумевается не только очевидные просмотр/редактирование, но также и, например, pagelist'инг.

Принципиальная отличие второго случая в том, что при pagelist'инге используются переменные текущей страницы, а не той, которая попадает в выборку pagelist. На самом деле все продумано и предусмотрено, ибо акт определения Page Variables происходит eval'ом в момент генерации страницы, и если понимать принцип, можно легко достичь нужного результата. Но объяснить его словами пока не получается, поэтому приведу разные примеры.

$FmtPV['$targets'] = "\$page['targets']";

Этот код записывает значение поля targets в PV $targets Как видно, это заэкранированное php-выражение, которое будет исполнено в контексте обращения к странице. Переменные относительные: при pagelist, соответственно, будет работать.

$FmtPV['$targetsLinks']  = "phphTargets2Links(\$page)";

Этот код записывает в $targetsLinks функцию, исполняемую в контексте обращения к странице. Работает при pagelist.

$FmtPV['$targetsLinks']  = "'".phphTargets2Links($page)."'";

Этот код записывает в $targetsLinks функцию, исполняемую во время генерации текущей страницы. При pagelist он работать НЕ будет, так как в функцию будет передаваться массив $page той страницы, с которой вызван pagelist. Стоит отметить, что при просмотре/редактировании данной страницы, код будет работать, так как в этом случае в массив $page "случайно" попадет то, что нужно.


Оставить комментарий 


Ваше имя:
->