Это старая версия документа.
Доработка боковой панели sidebar
В версии DokuWiki от 2012-09-10 “Adora Belle” RC1 по умолчанию добавлена боковая панель. Содержимое панели хранится в файлах sidebar.txt по всему namespace, что позволяет панели быть контекстной. Недостаток дефолтовой панели - невозможность кастомизации по текущему пользователю и группам. Проблема решается доработкой файла inc/template.php
:
До замены:
function tpl_sidebar($print = true) { global $conf; $sidebar = page_findnearest($conf['sidebar']); if($sidebar) return tpl_include_page($sidebar, $print); return ''; }
После замены:
function tpl_sidebar($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); 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; }
Определение панелей для пользователей:
data/pages/user/<username>/sidebar.txt
Определение панелей для групп:
data/pages/group/<groupname>/sidebar.txt
Например, чтобы отредактировать панель пользователя jamis7005 набираем в браузере:
http://www.prom-auto.ru/wiki/doku.php?id=user:jamis7005:sidebar