このドキュメントでは、FSWikiのテンプレートファイルの作成の仕方、テンプレートファイル内で有効なタグについて解説します。
テンプレートはWikiページの構造を記述します。次の3つの要素で構成されています。
テンプレートは*.tmplという拡張子のファイルで、次節の場所に設置し、管理メニューのスタイル設定の「サイトテンプレート」で指定することで、適用されます。
たとえば、「example」というテンプレートを用意する場合、FSWikiホームの下の、tmpl/siteディレクトリに、「example」というディレクトリを用意し、PCなどで表示するテンプレート「example.tmpl」と、携帯などで表示するテンプレート「example_handyphone.tmpl」の2種類を用意します。
FSWiki | +-/tmpl | +-/site | +-/example | +-example.tmpl +-example_handyphone.tmpl
テンプレートファイルのタグは、HTML::Templateのテンプレートタグに準じます。ただし書式が若干異なるのと、一部、FSWikiの独自拡張タグがあるのにご注意ください。
次にTMPL_VARを例に、FSWikiのテンプレートタグ書式と、HTML::Templateのタグ書式を示します。
<!--TMPL_VAR NAME="PARAMETER_NAME"-->
<TMPL_VAR NAME="PARAMETER_NAME">
FSWikiの場合、括弧に<!-- -->が使われます。
FSWikiのテンプレートで使うタグは、次のものです。
<!--TMPL_VAR NAME="PARAMETER_NAME"-->
<!--TMPL_IF NAME="PARAMETER_NAME"--> ... <!--/TMPL_IF-->
<!--TMPL_IF NAME="PARAMETER_NAME"--> ... <!--TMPL_ELSE--> ... <!--/TMPL_IF-->
<!--TMPL_UNLESS NAME="PARAMETER_NAME"--> ... <!--/TMPL_UNLESS-->
<!--FSWIKI_INCLUDE PAGE="WIKI_PAGE_NAME"-->
一番最後の、「FSWIKI_INCLUDE」はFSWikiのTMPL_INCLUDEの拡張タグです。TMPL_INCLUDEが呼び込むファイル名をPARAMETER_NAMEに持つのに対し、FSWIKI_INCLUDEは呼び込むWikiページ名を記述します。
FSWikiで利用可能なPARAMETER_NAMEは次節を参照してください。
PARAMETER_NAME | 概要 |
---|---|
TITLE | ページ名が次の書式(wiki内を検索するリンク形式)で表示されます。 |
SITE_NAME | 管理者でログイン→「管理」→「環境設定」ページのサイト名で設定した値が表示されます。 |
SITE_TITLE | 「ページ名 - サイト名」が表示されます。 |
HEAD_INFO | RSS auto-discovery情報が表示されます。 |
THEME_CSS | テーマのCSSへの相対パスが表示されます。 |
USER_CSS | 管理者でログイン→「管理」→「スタイル設定」ページの「ユーザ定義スタイル」で定義した文字列が表示されます。 |
THEME_URI | setup.datで定義した、テーマを格納するディレクトリを表示します。 |
PARAMETER_NAME | 概要 |
---|---|
MENU | Wikiメニューを表示します。ログイン状態によってWikiメニューは自動的に表示項目が決まります。 |
CONTENT | 該当ページの内容が、HTMLに変換済みで表示されます。 |
FOOTER | 管理者情報、FSWikiのバージョン情報が表示されます。CSSの指定はclass="footer" |
制御系のPARAMETER_NAMEは主にTMPL_IF,TMPL_UNLESSで利用されます。
PARAMETER_NAME | 概要 |
---|---|
IS_ADMIN? | |
IS_LOGIN? | ログイン中なら1、それ以外なら0 |
FRONT_PAGE? | 表示するページがFrontPageなら1、それ以外なら0 |
CAN_SHOW? | 表示するページが参照可能なら1、参照不可能なら0 |
HAVE_USER_CSS? | ユーザ定義スタイルがある場合1、ない場合0 |
EDIT_MODE? | 編集画面なら1、それ以外なら0 |
EXIST_PAGE_WikiPage? | WikiPageが存在する場合1、しない場合は0 |