В версии DokuWiki от 2012-10-13 “Adora Belle” по умолчанию добавлена боковая панель. Содержимое панели хранится в файлах sidebar.txt по всему namespace, что позволяет панели быть контекстной. Недостаток дефолтовой панели - невозможность кастомизации по текущему пользователю и группам. Проблема решается доработкой двух файлов.
Добавить в конец файла inc/template.php
:
function tpl_sidebara($print = true) { global $conf; global $INFO; $sidebar = page_findnearest($conf['sidebar']); $sidebaruser = page_findnearest("user:".$_SERVER['REMOTE_USER'].':'.$conf['sidebar']); $sidebarnew =""; if ($sidebar) $sidebarnew = $sidebarnew.tpl_include_page($sidebar, $print); $username = $INFO['userinfo']['name']; if ($username!="") { foreach($INFO['userinfo']['grps'] as $grp) { $group_sb = "group".':'.$grp.':'.$conf['sidebar']; $sidebargroup = page_findnearest($group_sb); if ($sidebargroup) $sidebargroup = $sidebarnew.tpl_include_page($sidebargroup, $print); } if ($sidebaruser) $sidebarnew = $sidebarnew.tpl_include_page($sidebaruser, $print); } return $sidebarnew; }
Заменить строку в файле lib/tpl/dokuwiki/main.php
:
<?php tpl_include_page($conf['sidebar'], 1, 1) ?>
на:
<?php tpl_sidebara() ?>
Определение панелей для пользователей:
data/pages/user/<username>/sidebar.txt
Определение панелей для групп:
data/pages/group/<groupname>/sidebar.txt
Например, чтобы отредактировать панель пользователя jamis7005 набираем в браузере url:
http://www.prom-auto.ru/wiki/doku.php?id=user:jamis7005:sidebar