Иногда возникает необходимость в том, чтобы все страницы некоторого пространства имен были основаны на некотором стандартном образце. Например, в пространстве address
можно было бы иметь заранее подготовленную таблицу, которую необходимо только заполнить данными. Этого можно легко достичь с помощью так называемых «шаблонов пространства имен». Когда новая страница создается, DokuWiki проверяет существует ли файл _template.txt
в ее пространстве имен и копирует содержимое этого файла в окно редактирования новой страницы.
Также поддерживаются шаблоны вида __template.txt
(два подчеркивания в начале имени). Эти шаблоны применяются также, как и обычные файлы _template.txt
, но они также используются во всех пространствах имен, вложенных в текущее.
Шаблон можно создать следующим образом:
_template.txt
, после этогоВ шаблонах могут быть использованы некоторые автозаменяемые последовательности:
@ID@ | полное имя страницы |
---|---|
@NS@ | пространство имен страницы |
@PAGE@ | название страницы (без пространства имён и все символы подчеркивания заменены на пробелы) |
@!PAGE@ | тоже самое, что и @PAGE@, но первый символ заменяется заглавной буквой |
@!!PAGE@ | тоже самое, что и @PAGE@, но первые символы каждого слова заменяются на заглавные буквы devel:develonly |
@!PAGE!@ | тоже самое, что и @PAGE@, но все символы заменяются заглавными буквами |
@FILE@ | название страницы (без пространства имён, все символы подчёркивания сохраняются) |
@!FILE@ | тоже самое, что и @FILE@, но первый символ заменяется заглавной буквой |
@!FILE!@ | тоже самое, что и @FILE@, но все символы заменяются заглавными буквами |
@USER@ | идентификатор пользователя, создавшего страницу |
@NAME@ | имя пользователя, создавшего страницу |
@MAIL@ | почтовый адрес пользователя, создавшего страницу |
@DATE@ | дата и время когда началось редактирование страницы |
Дополнительно можно использовать символы форматирования strftime для того, чтобы отформатировать время создания страницы так, как Вам нравится. Если Вы хотите использовать символ %
в шаблоне, то его необходимо удвоить (%%
).
Шаблоны (файлы _template.txt
) по умолчанию нельзя редактировать с помощью интерфейса DokuWiki – только тот, у кого есть доступ непосредственно к файлам на сервере в папке DokuWiki может их редактировать (обычно это администратор сайта, у которого есть FTP, SSH или WebDAV доступ). Однако есть пара способов обойти подобную ситуацию: первый способ связан с использованием символических ссылок, второй с изменением кода DokuWiki.
В Unix-системах есть возможность определить символическую ссылку, ведущую на определённый файл. Если расположить все файлы шаблонов в отдельном пространстве имён, то можно делать ссылки на эти файлы с именем «_template.txt» в нужном месте.
ln -s target link_name
, где
target
- путь к файлу шаблона, например «templates/other_namespace.txt
», а
link_name
- путь к символической ссылке, например «other_namespace/_template.txt
».
Если Вы хотите разрешить всем пользователям редактировать шаблоны, можно переименовать имя файла шаблона, из «_template.txt» в «template.txt» где-то в районе строки 812 файла inc/common.php
1). После этого любой пользователь с правами записи в данном пространстве имен, сможет создать страницу «template», которая будет использоваться в качестве шаблона.