<<TableOfContents: execution failed [list index out of range] (see also the log)>>
На данной странице описано использование переменных на страницах вики. Они особенно полезны при использовании совместно с шаблонами, но пригодятся и при использовании на других страницах (например, для подписывания своих реплик).
Предопределённые переменные
Перечисленные далее переменные заменяются на свои значения при сохранении стрницы.
Переменные не заменяются на свои значения во время предварительного просмотра.
Переменная |
Описание |
Пример подставляемой разметки |
Внешний вид |
@PAGE@ |
Имя страницы (обычно используетсяв шблонах, см. КакСоздаватьСтраницы) |
ПомощьПоПеременным |
ПомощьПоПеременным |
@TIMESTAMP@ |
Временная отметка |
2004-08-30T06:38:05Z |
2004-08-30T06:38:05Z |
@DATE@ |
Текущая дата, отформатированная на основании локали сервера |
<<Date(2004-08-30T06:38:05Z)>> |
2004-08-30 |
@TIME@ |
Текущие дата и время, отформатированные на основании локали сервера |
<<DateTime(2004-08-30T06:38:05Z)>> |
2004-08-30 06:38:05 |
@ME@ |
Имя пользователя |
АлександрПривалов |
|
@USERNAME@ |
Имя пользователя (или его домен/ip) |
АлександрПривалов |
|
@USER@ |
Подпись — имя учётной запии с предваряющими двумя дефисами |
-- АлександрПривалов |
|
@SIG@ |
Подпись с указанием временной метки |
-- АлександрПривалов <<DateTime(2004-08-30T06:38:05Z)>> |
-- АлександрПривалов 2004-08-30 06:38:05 |
@EMAIL@ |
Обфусцированный почтовый адрес пользователя |
<<MailTo(test DOT user AT example DOT com)>> |
<test DOT user AT example DOT com> |
@MAILTO@ |
Почтовый адрес пользователя |
<<MailTo(test.user@example.com)>> |
<test.user@example.com> |
Создание новых переменных
Если встроенных переменных недостаточно, можно определить новые путём создания вложенной страницы домашней страницы со словарём переменных на ней. Например, если имя учётной записи пользователя АлександрПривалов, то нужно создать страницу АлександрПривалов/MyDict («мой словарь») с примерно следующим содержимым:
ПЕРЕМЕННАЯ1:: какой-то текст ПЕРЕМЕННАЯ2:: можно использовать ''произвольную'' разметку
После чего при редактировании страницы можно использовать @ПЕРЕМЕННАЯ1@ или @ПЕРЕМЕННАЯ2@ для подстановки текста из этого словаря. (Заметьте, что строки в словаре начинаются ровно с одного пробела)
Получение значений переменных
При каждом обновлении страницы
Можно получать значения переменных, используя макрокоманду GetVal:
<<GetVal(RussianDict,Test)>> <<GetVal(RussianDict,WikiName)>> <<GetVal(RussianDict,MoinMoin)>>
Будет отображаться как:
При сохранении страницы
Если переменные присутствуют на странице ИмяПользователя/MyDict (ИмяПользователя должно быть заменено на соответствующее), переменные будут подставляться при сохранении страницы при использовании их с обрамляющими символами «@»: @переменная1@, @переменная2@, и так далее, не требуя использования макрокоманды GetVal.
Замечание: данные в словаре кэшируются и не требуют открытия и обработки файла страницы при каждом доступе к значению. В случае использования CGI, значение получается из сериализованного представления, при использовании долгоживущего процесса десериализация производится один раз, после чего значение получается из памяти.
Замечание: значения переменных не подставляются при сохранении страниц шаблонов и использовании предварительного просмотра. Во всех других случаях, подстановка значения переменных имеет глобальное действие и работает в любой части страницы, включая блоки с заданными парсерами, комментарии, инструкции и любые другие «особые» места.