目次

テンプレートの設定

このサイトで使用している arctic テンプレートの設定方法について紹介します。

DokuWikiの紹介を行っているページなどでは、sidebarmonobook テンプレートを採用している所が多いですが、ここでは arctic テンプレートをお勧めします。
その理由として、

と、このサイトのようなサイドバーを表示した基本的なレイアウトのWikiサイトを構築しやすいからです。
(あと、せっかくテンプレート変えるなら、DokuWikiの特徴である ACL namespaces を活かしたサイドバーを作れる方が面白いですし。)

Install & Setting

このサイトのサイドバー設定

このサイトのようなサイドバーを表示する場合の、実際の設定例を紹介します。

Configration

「Arctic テンプレート設定」には以下の設定をしています。

設定項目 設定値
sidebar setup left
pagename to use for sidebars sidebar
trace setup top
actionlink style buttons
namespace for group sidebars group
namespace for user sidebars user
left sidebar order main,tags,wiki,links,user
content of the left sidebar main と user にチェック 「other sidebars」に wiki,links,tags を設定
right sidebar order デフォルトのまま
content of the right sidebar デフォルトのまま
position of the search field left

Sidebars

サイドバー用に以下のページを作成しています。
「pagename to use for sidebars」を sidebar から別の名前に変更した場合は、「main」や「user」のページ名も同じ名前に変更してください。

タイプ リンク
main Menu
user1) admin
tags Tags
wiki Wiki
links Links

tpl_functions.phpのカスタマイズ

このサイトでは、TagsWikiLinksの各サイドバーを固定で表示し、かつ別々のグループレイヤーで表示させたかったため、arcticテンプレートのソースに以下の修正を行っています。
具体的には「other sidebars」に設定した、tags、wiki、links のそれぞれのサイドバーを表示させるために、tpl_functions.phpの145行目と146行目の間に以下のコードを追加しています。

 case 'wiki':
     $ns_sb = 'wiki:sidebar';
     if(auth_quickaclcheck($ns_sb) >= AUTH_READ) {
         print '<div class="namespace_sidebar sidebar_box">' . DOKU_LF;
         print p_sidebar_xhtml($ns_sb) . DOKU_LF;
         print '</div>' . DOKU_LF;
     }
     break;
 case 'links':
     $ns_sb = 'links';
     if(auth_quickaclcheck($ns_sb) >= AUTH_READ) {
         print '<div class="namespace_sidebar sidebar_box">' . DOKU_LF;
         print p_sidebar_xhtml($ns_sb) . DOKU_LF;
         print '</div>' . DOKU_LF;
     }
     break;
 case 'tags':
     $ns_sb = 'tags:tag';
     if(auth_quickaclcheck($ns_sb) >= AUTH_READ) {
         print '<div class="namespace_sidebar sidebar_box">' . DOKU_LF;
         print p_sidebar_xhtml($ns_sb) . DOKU_LF;
         print '</div>' . DOKU_LF;
     }
     break;

独自サイドバーを追加したい場合は、case条件を「other sidebars」に設定する名前にし、$ns_sbの値を作成したページ名に修正したcaseブロックを、tpl_functions.phpのswitch文に追加すればOKです。

なお、arcticテンプレートフォルダ直下の left_sidebar.html(left_sidebar.html) や、arctic/sidebars/<sidebarname>/sidebar.php の追加によって独自のサイドバーを表示させることも出来ますが、上記の修正だと作成したページをそのままサイドバーとして利用でき、管理も簡単です。

« 最初の環境設定 | プラグインの設定 »

1) このサイドバーメニューはログインユーザにしか表示されません。