$conf
в данном случае.Содержание
файл шаблона main.php
main.php
включает в себя большинство страниц, которые вы увидите при просмотре установки «ДокуВики»; сюда входят все «действия DokuWiki», перечисленные в менеджере конфигурации.
Многие из описанных здесь функций также применимы для файл шаблона detail.php
и файл шаблона mediamanager.php
, т.е. все, что находится до первого div
плюс html_msgarea()
должно быть общим для всех файлов шаблонов.
Минимум...
Здесь представлены минимальные требования для правильного отображения и взаимодействия страницы с вашим шаблоном.
Функциональность
Обычно рекомендуется начинать страницы шаблона с doctype и тега <html> который сообщает браузеру, какой язык и направление текста используются на вики-страницах.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang']?>" lang="<?php echo $conf['lang']?>" dir="<?php echo $lang['direction']?>">
Первый реальный вызов PHP — это tpl_metaheaders()
, который включает в себя CSS и JavaScript, необходимые и предоставляемые DokuWiki, а также все, что собрано из style.ini
.
<head> <?php tpl_metaheaders()?>
Далее идет tpl_pagetitle()
, который использует идентификатор страницы (или, опционально, первый заголовок) в качестве заголовка страницы рядом с заголовком вашей вики 1). Имеет смысл объявить набор символов непосредственно перед этим:
<meta charset="UTF-8" /> <title><?php tpl_pagetitle()?> - <?php echo hsc($conf['title'])?></title>
Чтобы добавить favicon, вы можете использовать tpl_favicon()
который по умолчанию будет использовать который по умолчанию будет использовать favicon.ico
в каталоге шаблона images
. Но это можно перезаписать, загрузив этот файл в пространство имен wiki wiki
или root через медиа-менеджер.
<?php echo tpl_favicon(array('favicon')) ?> </head>
Когда вы будете готовы к отображению, вам нужно будет добавить tpl_classes()
(который также включает dokuwiki
класс) где-то вверху, чтобы ваша страница работала правильно с плагинами, использующими таблицы стилей. Идентификатор dokuwiki__top
необходим для утилиты «Вернуться наверх».
<body> <div class="<?php echo tpl_classes() ?>" id="dokuwiki__top">
Ваш шаблон должен иметь некий последовательный заголовок, отображающий название и слоган вики:
<h1><?php tpl_link(wl(),$conf['title'],'accesskey="h" title="[H]"') ?></h1> <?php if ($conf['tagline']): ?> <p><?php echo $conf['tagline'] ?></p> <?php endif ?>
Вам понадобятся все служебные кнопки/ссылки с tpl_action() чтобы сделать ваш wiki действительно функциональным. Вот все кнопки, предоставляемые шаблоном по умолчанию.
<div class="actions"> <?php tpl_searchform()?> <?php tpl_action('admin')?> <?php tpl_action('profile')?> <?php tpl_action('register')?> <?php tpl_action('login')?> <?php tpl_action('edit')?> <?php tpl_action('revisions')?> <?php tpl_action('backlink')?> <?php tpl_action('subscribe')?> <?php tpl_action('revert')?> <?php tpl_action('recent')?> <?php tpl_action('media')?> <?php tpl_action('index')?> <?php tpl_action('top')?> </div>
Теперь представьте себя в области контента вашей страницы. Сначала вам понадобится вызов функции отображения ошибок, html_msgarea()
. Это то, что позволяет вам видеть, например, ошибки конфигурации в DokuWiki, когда они у вас есть, или ошибки рендеринга плагина, или позволяет вам видеть результаты, do=check
когда вы добавляете это в конец URL на вашем сайте.
<?php html_msgarea()?>
Некоторые мелочи — это «хлебные крошки» и ссылки «вы здесь». Вы можете добавить их в любом месте области контента, в любом порядке с помощью tpl_breadcrumbs()
и tpl_youarehere()
, и они совершенно необязательны и остаются на ваше усмотрение. Если вы разрабатываете шаблон для общего использования, вам нужно будет поддерживать оба варианта, чтобы ваши конечные пользователи могли выбирать.
<?php if ($conf['breadcrumbs']): ?> <p><?php tpl_breadcrumbs() ?></p> <?php endif ?> <?php if ($conf['youarehere']): ?> <p><?php tpl_youarehere() ?></p> <?php endif ?>
Кульминацией всего процесса является отображение содержимого страницы; это всего лишь один вызов tpl_content()
, и он используется для всех действий — просмотра, редактирования, навигации по индексу, поиска и любой страницы с формой.
<?php tpl_content(); ?>
Ближе к концу раздела контента вы можете добавить информацию о том, когда страница была последний раз изменена, кто это сделал, под каким именем вы в данный момент вошли в систему и какова лицензия вики:
<p> <?php tpl_pageinfo()?><br /> <?php tpl_userinfo()?><br /> <?php tpl_license()?> </p>
Многие шаблоны отображают боковую панель, если установлена опция конфигурации боковой панели. Это отобразит содержимое страницы под названием «боковая панель»:
<?php tpl_include_page($conf['sidebar'], 1, 1) ?>
И наконец, эта функция вам нужна для того, чтобы убедиться, что поиск работает правильно и находит ваши страницы:
<?php tpl_indexerWebBug(); ?> </div> </body> </html>
В целом теперь...
У нас есть небольшой образец, который можно использовать main.php
в качестве шаблона, и он выглядит так:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $conf['lang']?>" lang="<?php echo $conf['lang']?>" dir="<?php echo $lang['direction']?>"> <head> <?php tpl_metaheaders()?> <title><?php tpl_pagetitle()?> - <?php echo hsc($conf['title'])?></title> <?php echo tpl_favicon(array('favicon')) ?> </head> <body> <div class="<?php echo tpl_classes(); ?>" id="dokuwiki__top"> <h1><?php tpl_link(wl(),$conf['title'],'accesskey="h" title="[H]"') ?></h1> <?php if ($conf['tagline']): ?> <p><?php echo $conf['tagline'] ?></p> <?php endif ?> <div class="actions"> <?php tpl_searchform()?> <?php tpl_action('admin')?> <?php tpl_action('profile')?> <?php tpl_action('register')?> <?php tpl_action('login')?> <?php tpl_action('edit')?> <?php tpl_action('revisions')?> <?php tpl_action('backlink')?> <?php tpl_action('subscribe')?> <?php tpl_action('revert')?> <?php tpl_action('recent')?> <?php tpl_action('media')?> <?php tpl_action('index')?> <?php tpl_action('top')?> </div> <?php html_msgarea()?> <?php if ($conf['breadcrumbs']): ?> <p><?php tpl_breadcrumbs() ?></p> <?php endif ?> <?php if ($conf['youarehere']): ?> <p><?php tpl_youarehere() ?></p> <?php endif ?> <?php tpl_content(); ?> <p> <?php tpl_pageinfo()?><br /> <?php tpl_userinfo()?><br /> <?php tpl_license()?> </p> <?php tpl_include_page($conf['sidebar'], 1, 1) ?> <?php tpl_indexerWebBug(); ?> </div> </body> </html>
Теперь у вас есть все кнопки, а также поле поиска, и это все, что вам нужно для разработки шаблона.
Посмотрите и почувствуйте
Объяснение стилей для:
- Обычный просмотр
- Редактирование
- Навигация по индексу (или то, что обычно называют навигацией по «карте сайта»)
- Идет поиск
- Страницы типа формы, такие как регистрация, профиль, администрирование, конфигурация и т. д.
Следует разместить здесь, так как все они требуют информацию о таблицах стилей.
Источник
Исходный код main.php
шаблона 'dokuwiki' можно найти по адресу lib/tpl/dokuwiki/main.php. Файл main.php шаблона Starter даже содержит некоторые полезные комментарии.
Смотрите также
- mediamanager.php – файл шаблона всплывающего окна выбора медиа
- detail.php – файл шаблона страницы сведений об изображении