DokuWiki.biz

オープンソースのウィキソフトウェア「DokuWiki」の設定、テンプレートカスタマイズ、プラグイン開発などのメモ書き。

ユーザ用ツール

サイト用ツール


develop:variable

DokuWikiのグローバル変数と定数

このページでは、DokuWikiのテンプレートカスタマイズやプラグイン開発を行うにあたって、よく使用するグローバル変数と定数を紹介する。

動作モードやページ名・名前空間などは条件分岐で多用するので、覚えておきたい。

グローバル変数

$ACT

DokuWikiは、?do=パラメータで与えられた動作の指示によって、ページ(文書)の「表示:show」・「編集:edit」・「保存:save」など、ページ(文書)以外の「バックリンク:backlink」・「以前のリビジョン:revisions」などの表示といった異なる動作をする。この変数は、その動作モードを保持する。

主な動作モードは、以下である。

動作モード 概要
ページに対する動作-編集過程
show 文書の表示
edit 文書の編集/ソースの表示
preview プレビュー
save 保存
ページに対する動作-その他の機能
backlink バックリンク
revisions 以前のリビジョン
media メディアマネージャー
サイトに対する動作-主機能
index サイトマップ
recent 最近の変更
search 検索

例えば、テンプレート内でページ(文書)の表示時のみ出力したい箇所があれば、以下のように動作モード「文書の表示:show」で条件分岐させればよい。

<?php
if($ACT == 'show') {
  //
}
?>

$conf

DokuWikiの構成設定情報を保持する配列変数である。この中には、SEO、ユーザビリティを考慮したDokuWikiの基本設定で説明したDokuWikiのサイト設定や、テンプレート・プラグインなどの設定情報が含まれる。

$ID

ページ名を保持する変数である。以下のような名前空間とページの構造の場合、example1がページ名となる。

ルート
└ ns1
   └ ns1-1
      └ example1     ns1:ns1-1:example1

$INFO

DokuWikiのページに関する情報などを保持する配列変数である。

主なものは、以下である。

管理者であるスーパーユーザーのみ表示させたい内容の場合は、isadminで判定すればよい。また、レスポンシブデザインなどでモバイル端末かどうかを判定したい場合は、ismobileを使用すればよい。

配列要素 概要
id $IDと同様
namespace 現在のページの名前空間
isadmin 現在ログインしているユーザーがスーパーユーザーかどうか
ismobile モバイル端末から閲覧されているかどうか

$_SERVER['REMOTE_USER']

ユーザーがログインした場合に、ユーザー名を保持する。この変数に値がセットされている場合は、登録されているユーザーの閲覧ということになる。

定数

DOKU_<*>

DokuWikiの内部で使用するシステム情報を保持する。

主なものは、以下である。

定数 概要
DOKU_BASE URLベース
DOKU_REL URLベースパス
DOKU_URL 絶対URL
DOKU_INC サーバー上のインクルードパス
DOKU_CONF confディレクトリのサーバー上のパス
DOKU_TPL 現在使用しているテンプレートのURLベースパス
DOKU_TPLINC 現在使用しているテンプレートのサーバー上のパス
DOKU_PLUGIN プラグインのサーバー上のパス

JavaScriptの定義済みグローバル変数

参考ページ

develop/variable.txt · 最終更新: 2018/09/07 10:55:07 by admin