任意のテンプレートを利用し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-->