KG Software Library

layoutプラグイン

任意のテンプレートを利用しWikiソースのパース結果を適用するプラグインを提供します。

利用方法

{{layout テンプレート名[,変数:値,...]
〜Wiki書式のソース〜
}}

パラメータで利用可能な変数

パラメータで利用する変数の定義はテンプレート内に規定のフォーマットで記述します。 詳しくは SAMPLE.tmpl を参照してください。

パラメータ名で outline という名称は予約されています。 outline を指定すると process_outline を使用して Wikiソースを変換します。 この場合、outline プラグインへ見出しが反映されるようになりますが、パート編集の位置がずれることがあります。

この outline パラメータは setup.dat もしくは config/config.dat ファイル内で、以下の設定を行うことで既定の動作となります。 =

layout_process_outline=1

テンプレートで利用可能な内部変数一覧

SOURCE            : Wikiソース変換結果(HTMLソース)
LOGIN             : ログイン済みの場合は 1
LOGIN_ID          : ログイン・ユーザーID
LOGIN_TYPE        : ログイン種別(0:管理者, 1:一般)
IS_HANDYPHONE     : 携帯アクセスの場合は 1
IS_FIRST_TMPL     : 同一テンプレート利用で1回目の呼び出し時に 1
IS_FIRST_LAYOUT   : Layoutプラグインの1回目の呼び出し時に 1
COUNT_TMPL        : 同一テンプレートの呼び出し回数(ID属性のカウンターなどに利用)
COUNT_LAYOUT      : Layoutプラグインの呼び出し回数(ID属性のカウンターなどに利用)
CURRENT_TIMESTAMP : 現在時刻(Util::format_date()形式)
SCRIPT_NAME       : スクリプト・パス
CURRENT_PAGE      : 表示中のページ名
CURRENT_PAGE#url  : 表示中のページ名をURLエンコードした文字列(2013/03/07機能追加)
FSWIKI_HOME       : FSWIKI ホームのURI
FSWIKI_HOME_DIR   : FSWIKI ホームディレクトリへのパス(例:ルートWikiの場合は'.'、子Wikiの場合は './..' となる)
SITE_THEME_URI    : テーマディレクトリへのURI
SITE_THEME_NAME   : テーマ名
SITE_TMPL_NAME    : テンプレート名
PATH_INFO         : CGIの PATH_INFO 環境変数値
WIKI_ACTION       : CGIパラメータのactionで指定された名称(アクションなしの場合はブランク)
WIKI_ACTION_...   : ...で指定したアクションがCGIパラメータで指定されているかどうか(1:パラメータあり)
EXIST_PAGE_...    : ...で指定した / を含まないページ名が存在するかどうか(1:存在する)
CGI_PARAM_...     : ...で指定したCGIパラメータの設定値(無ければFALSEになる)?page=xxxx の場合は CGI_PARAM_page に xxx が設定される
CGI_PARAMS_...    : ...で指定した配列要素のCGIパラメータの設定値 ?abc=xxx&abc=yyy の場合は CGI_PARAMS_abc に CGI_PARAM_abc として各値が設定される

上記の他、テンプレートファイルに指定した PARAMETER で定義された変数が使用できます。 また、PARAMETER で定義された変数の「変数名+'#url'」 でURLエンコードされた値を取得できます。

任意のテンプレートの内容をそのまま出力するには・・・

このプラグイン利用時は Wiki ソースの指定はできません。テンプレートで利用可能な内部変数は利用できます。

// インライン版
{{ilayout テンプレート名[,変数:値,...]}}

FSWIKI用の追加テンプレート記述

FSWIKI_SOURCE 〜 /FSWIKI_SOURCE
テンプレート内に指定したWiki書式を変換する
// 記述例
<!--FSWIKI_SOURCE-->
!!!見出し
[[Menu]]
<!--/FSWIKI_SOURCE-->
FSWIKI_INCLUDE
テンプレート内に指定したWikiページを挿入する
// 記述例
<!--FSWIKI_INCLUDE PAGE=Menu-->
FSWIKI_HEAD_INFO
テンプレート内の指定した範囲を<HEAD>タグ内に挿入する
// 記述例
// ※ IS_FIRST_TMPL との併用で初回のみ HEAD 内に追加することが出来ます。
<!--TMPL_IF "IS_FIRST_TMPL"-->
<!--FSWIKI_HEAD_INFO-->
<script type="text/javascript">
function sample_script() {
alert('sample!');
}
</script>
<!--/FSWIKI_HEAD_INFO-->
<!--/TMPL_IF-->