DokuWiki.ru

простой и мощный вики-движок

Инструменты пользователя

Инструменты сайта


namespace_templates

Шаблоны пространства имен

Иногда возникает необходимость в том, чтобы все страницы некоторого пространства имен были основаны на некотором стандартном образце. Например, в пространстве address можно было бы иметь заранее подготовленную таблицу, которую необходимо только заполнить данными. Этого можно легко достичь с помощью так называемых «шаблонов пространства имен». Когда новая страница создается, DokuWiki проверяет существует ли файл _template.txt в ее пространстве имен и копирует содержимое этого файла в окно редактирования новой страницы.

Также поддерживаются шаблоны вида __template.txt (два подчеркивания в начале имени). Эти шаблоны применяются также, как и обычные файлы _template.txt, но они также используются во всех пространствах имен, вложенных в текущее.

Шаблон можно создать следующим образом:

  • используя вики, сохранить в нужном пространстве имен страницу, которую Вы хотите использовать в качестве шаблона
  • через FTP или WebDAV скопировать ее в ту же директорию переименовав в _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» в нужном месте.

  1. Создайте новое пространство имён, например «templates» для хранения шаблонов.
  2. В этом пространстве имён создайте страницы для каждого шаблона, который необходимо сделать редактируемым.
  3. Создайте символическую ссылку на каждую из страниц:
    ln -s target link_name

    , где
    target - путь к файлу шаблона, например «templates/other_namespace.txt», а
    link_name - путь к символической ссылке, например «other_namespace/_template.txt».

Редактируемые шаблоны для всех пользователей

Если Вы хотите разрешить всем пользователям редактировать шаблоны, можно переименовать имя файла шаблона, из «_template.txt» в «template.txt» где-то в районе строки 812 файла inc/common.php1). После этого любой пользователь с правами записи в данном пространстве имен, сможет создать страницу «template», которая будет использоваться в качестве шаблона.

1)
в новых версиях номер строки может измениться

Обсуждение

Сергей, 2013/05/27 19:50

Еще немного на http://www.itexp.org/docu/

Андрей, 2012/05/22 13:28

возникает ошибка Warning: Invalid CRT parameters detected in D:\xampp\htdocs\www\aquawiki.local\site\inc\common.php(903) : runtime-created function on line 1 - методом тыка выяснил, что возникает когда в template присутствует база database2, и в которой есть @PAGE@. - помогите решить проблему!

Михаил, 2011/06/02 11:09

Как можно сделать, чтобы @!PAGE@ раскрывалось не в транслитированное название страницы, а на русском языке?

Попробуйте установить другое значение параметра useheading в настройках вики.

Только авторизованные участники могут оставлять комментарии.
namespace_templates.txt · Последние изменения: 2017/03/15 20:56 — kibi