Доработка боковой панели sidebar “Adora Belle” release

В версии 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

dev/wiki/doku_sidebar_improvement_adora_belle_rls.txt · Последние изменения: 2012/10/15 21:50 — jamis7005
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0