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

Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

namespace_templates [2009/12/27 20:11]
kibi
namespace_templates [2009/12/27 20:11] (текущий)
kibi
Строка 1: Строка 1:
 +====== Шаблоны пространства имен ======
 +Иногда возникает необходимость в том, чтобы все страницы некоторого пространства имен были основаны на некотором стандартном образце. Например, в пространстве ''address'' можно было бы иметь заранее подготовленную таблицу, которую необходимо только заполнить данными. Этого можно легко достичь с помощью так называемых "шаблонов пространства имен".  Когда новая страница создается, DokuWiki проверяет существует ли файл ''_template.txt'' в ее пространстве имен и  копирует содержимое этого файла в окно редактирования новой страницы.
 +
 +Также поддерживаются шаблоны вида ''%%__%%template.txt'' (два подчеркивания в начале имени). Эти шаблоны применяются также, как и обычные файлы ''_template.txt'', но они также используются во всех пространствах имен, вложенных в текущее.
 +
 +Шаблон можно создать следующим образом:
 +
 +  * используя вики, сохранить в нужном пространстве имен страницу, которую Вы хотите использовать в качестве шаблона
 +  * через FTP или WebDAV скопировать ее в ту же директорию переименовав в ''_template.txt'', после этого
 +  * в вики удалить исходную страницу.
 +
 +В шаблонах могут быть использованы некоторые автозаменяемые последовательности:
 +
 +^ @ID@   | полное имя страницы                                  |
 +^ @NS@   | пространство имен страницы                           |
 +^ @PAGE@ | название страницы (без пространства имён и все символы подчеркивания заменены на пробелы) |
 +^ @!PAGE@  | тоже самое, что и @PAGE@, но первый символ заменяется заглавной буквой                             |
 +^ @!!PAGE@ | тоже самое, что и @PAGE@, но первые символы каждого слова заменяются на заглавные буквы [[doku>devel:develonly]] |
 +^ @!PAGE!@ | тоже самое, что и @PAGE@, но все символы заменяются заглавными буквами                                       |
 +^ @FILE@   | название страницы (без пространства имён, все символы подчёркивания сохраняются)                               |
 +^ @!FILE@  | тоже самое, что и @FILE@, но первый символ заменяется заглавной буквой                                  |
 +^ @!FILE!@ | тоже самое, что и @FILE@, но все символы заменяются заглавными буквами                                       |
 +^ @USER@ | идентификатор пользователя, создавшего страницу      |
 +^ @NAME@ | имя пользователя, создавшего страницу                |
 +^ @MAIL@ | почтовый адрес пользователя, создавшего страницу     |
 +^ @DATE@ | дата и время когда началось редактирование страницы  |
 +
 +Дополнительно можно использовать символы форматирования [[phpfn>strftime]] для того, чтобы отформатировать время создания страницы так, как Вам нравится. Если Вы хотите использовать символ ''%'' в шаблоне, то его необходимо удвоить (''%%'').
 +
 +===== Редактирование шаблонов =====
 +
 +Шаблоны (файлы ''_template.txt'') по умолчанию нельзя редактировать с помощью интерфейса DokuWiki -- только тот, у кого есть доступ непосредственно к файлам на сервере в папке DokuWiki может их редактировать (обычно это администратор сайта, у которого есть FTP, SSH или WebDAV доступ). Однако есть пара способов обойти подобную ситуацию: первый способ связан с использованием символических ссылок, второй с изменением кода DokuWiki.
 +
 +==== Создание редактируемого шаблона с помощью символической ссылки ====
 +
 +В Unix-системах есть возможность определить символическую ссылку, ведущую на определённый файл. Если расположить все файлы шаблонов в отдельном пространстве имён, то можно делать ссылки на эти файлы с именем "_template.txt" в нужном месте.
 +
 +  - Создайте новое пространство имён, например "templates" для хранения шаблонов.
 +  - В этом пространстве имён создайте страницы для каждого шаблона, который необходимо сделать редактируемым.
 +  - Создайте символическую ссылку на каждую из страниц:<code bash>ln -s target link_name</code>, где\\ ''target'' - путь к файлу шаблона, например  "''templates/other_namespace.txt''", а\\ ''link_name'' - путь к символической ссылке, например "''other_namespace/_template.txt''".
 +
 +==== Редактируемые шаблоны для всех пользователей  ====
 +
 +Если Вы хотите разрешить всем пользователям редактировать шаблоны, можно переименовать имя фала шаблона, из "_template.txt" в "template.txt" где-то в районе строки 812 файла ''inc/common.php''((в новых версиях номер строки может измениться)). После этого любой пользователь с правами записи в данном пространстве имен, сможет создать страницу "template", которая будет использоваться в качестве шаблона.
 
namespace_templates.txt · Последние изменения: 2009/12/27 20:11 От kibi
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki