====== файл шаблона main.php ====== ''main.php'' включает в себя большинство страниц, которые вы увидите при просмотре установки «ДокуВики»; сюда входят все «действия DokuWiki», перечисленные в менеджере конфигурации. Многие из описанных здесь функций также применимы для :&13: ''[[wiki:devel:templates:detail.php]]'' и :&13: ''[[wiki:devel:templates:mediamanager.php]]'', т.е. все, что находится до первого ''div'' плюс ''html_msgarea()'' должно быть общим для всех файлов шаблонов. ===== Минимум... ===== Здесь представлены минимальные требования для правильного отображения и взаимодействия страницы с вашим шаблоном. ==== Функциональность ==== Обычно рекомендуется начинать страницы шаблона с **doctype** и тега %%%% который сообщает браузеру, какой язык и направление текста используются на вики-страницах. Первый реальный вызов PHP — это :&13: ''[[wiki:xref:dokuwiki:inc:template.php|tpl_metaheaders()]]'', который включает в себя CSS и JavaScript, **необходимые ** и предоставляемые DokuWiki, а также все, что собрано из ''style.ini''. Далее идет ''[[wiki:xref:dokuwiki:inc:template.php|tpl_pagetitle()]]'', который использует идентификатор страницы (или, опционально, первый заголовок) в качестве заголовка страницы рядом с заголовком вашей вики ((Это и есть причина ''$conf'' в данном случае.)). Имеет смысл объявить набор символов непосредственно перед этим: <?php tpl_pagetitle()?> - <?php echo hsc($conf['title'])?> Чтобы добавить favicon, вы можете использовать ''[[wiki:xref:dokuwiki:inc:template.php|tpl_favicon()]]'' который по умолчанию будет использовать который по умолчанию будет использовать ''favicon.ico'' в каталоге шаблона ''images''. Но это можно перезаписать, загрузив этот файл в пространство имен wiki ''wiki'' или root через медиа-менеджер. Когда вы будете готовы к отображению, вам нужно будет добавить ''[[wiki:xref:dokuwiki:inc:template.php|tpl_classes()]]'' (который также включает ''dokuwiki'' класс) где-то вверху, чтобы ваша страница работала правильно с плагинами, использующими таблицы стилей. Идентификатор ''%%dokuwiki__top%%'' необходим для утилиты «Вернуться наверх».
Ваш шаблон должен иметь некий последовательный заголовок, отображающий название и слоган вики:

Вам понадобятся все служебные кнопки/ссылки с [[wiki:xref:dokuwiki:inc:template.php|tpl_action()]] чтобы сделать ваш wiki действительно функциональным. Вот все кнопки, предоставляемые шаблоном по умолчанию.
Теперь представьте себя в области контента вашей страницы. Сначала вам понадобится вызов функции отображения ошибок, ''[[wiki:xref:dokuwiki:inc:html.php|html_msgarea()]]''. Это то, что позволяет вам видеть, например, ошибки конфигурации в DokuWiki, когда они у вас есть, или ошибки рендеринга плагина, или позволяет вам видеть результаты, ''do=check'' когда вы добавляете это в конец URL на вашем сайте. Некоторые мелочи — это «хлебные крошки» и ссылки «вы здесь». Вы можете добавить их в любом месте области контента, в любом порядке с помощью ''[[wiki:xref:dokuwiki:inc:template.php|tpl_breadcrumbs()]]'' и ''[[wiki:xref:dokuwiki:inc:template.php|tpl_youarehere()]]'', и они совершенно необязательны и остаются на ваше усмотрение. Если вы разрабатываете шаблон для общего использования, вам нужно будет поддерживать оба варианта, чтобы ваши конечные пользователи могли выбирать.

Кульминацией всего процесса является отображение содержимого страницы; это всего лишь один вызов ''[[wiki:xref:dokuwiki:inc:template.php|tpl_content()]]'', и он используется для всех действий — просмотра, редактирования, навигации по индексу, поиска и любой страницы с формой. Ближе к концу раздела контента вы можете добавить информацию о том, когда страница была последний раз изменена, кто это сделал, под каким именем вы в данный момент вошли в систему и какова лицензия вики:



Многие шаблоны отображают [[wiki:faq:sidebar|боковую панель]], если установлена [[wiki:config:sidebar|опция конфигурации боковой панели]]. Это отобразит содержимое страницы под названием «боковая панель»: И наконец, эта функция вам **нужна** для того, чтобы убедиться, что поиск работает правильно и находит ваши страницы:
=== В целом теперь... === У нас есть небольшой образец, который можно использовать ''main.php'' в качестве шаблона, и он выглядит так: <?php tpl_pagetitle()?> - <?php echo hsc($conf['title'])?>



Теперь у вас есть все кнопки, а также поле поиска, и это все, что вам нужно для разработки шаблона. ==== Посмотрите и почувствуйте ==== FIXME Объяснение стилей для: * Обычный просмотр * Редактирование * Навигация по индексу (или то, что обычно называют навигацией по «карте сайта») * Идет поиск * Страницы типа формы, такие как регистрация, профиль, администрирование, конфигурация и т. д. Следует разместить здесь, так как все они требуют информацию о таблицах стилей. ===== Источник ===== Исходный код ''main.php'' шаблона 'dokuwiki' можно найти по адресу [[wiki:xref:dokuwiki:lib:tpl:dokuwiki:main.php|lib/tpl/dokuwiki/main.php]]. Файл [[https://github.com/selfthinker/dokuwiki_template_starter/blob/master/main.php|main.php шаблона Starter]] даже содержит некоторые полезные комментарии. =====Смотрите также===== * [[wiki:devel:templates|Разработка шаблона DokuWiki]] * [[wiki:devel:templates:mediamanager.php|mediamanager.php]] – файл шаблона всплывающего окна выбора медиа * [[wiki:devel:templates:detail.php|detail.php]] – файл шаблона страницы сведений об изображении * [[https://www.dokuwiki.org/devel:templates:main.php|оригинал статьи]]