一覧 最終更新 HOME ログイン

freedomcat.com


はじめに

このドキュメントでは、FSWikiのテンプレートファイルの作成の仕方、テンプレートファイル内で有効なタグについて解説します。

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の独自拡張タグがあるのにご注意ください。

FSWikiテンプレートタグ書式とHTML::Templateタグ書式の違い

次にTMPL_VARを例に、FSWikiのテンプレートタグ書式と、HTML::Templateのタグ書式を示します。

FSWikiのTMPL_VARのテンプレートタグ書式
<!--TMPL_VAR NAME="PARAMETER_NAME"-->
HTML::TemplateのTMPL_VARのテンプレートタグ書式
<TMPL_VAR NAME="PARAMETER_NAME">

FSWikiの場合、括弧に<!-- -->が使われます。

FSWikiのテンプレートタグ

FSWikiのテンプレートで使うタグは、次のものです。

TMPL_VAR
<!--TMPL_VAR NAME="PARAMETER_NAME"-->
TMPL_IF
<!--TMPL_IF NAME="PARAMETER_NAME"--> ... <!--/TMPL_IF-->
TMPL_ELSE
<!--TMPL_IF NAME="PARAMETER_NAME"--> ... <!--TMPL_ELSE--> ... <!--/TMPL_IF-->
TMPL_UNLESS
<!--TMPL_UNLESS NAME="PARAMETER_NAME"--> ... <!--/TMPL_UNLESS-->
FSWIKI_INCLUDE
<!--FSWIKI_INCLUDE PAGE="WIKI_PAGE_NAME"-->

一番最後の、「FSWIKI_INCLUDE」はFSWikiのTMPL_INCLUDEの拡張タグです。TMPL_INCLUDEが呼び込むファイル名をPARAMETER_NAMEに持つのに対し、FSWIKI_INCLUDEは呼び込むWikiページ名を記述します。

FSWikiで利用可能なPARAMETER_NAMEは次節を参照してください。

FSWikiのPARAMETER_NAME

主にheadで利用されるPARAMETER_NAME

PARAMETER_NAME 概要
TITLE ページ名が次の書式(wiki内を検索するリンク形式)で表示されます。
SITE_NAME 管理者でログイン→「管理」→「環境設定」ページのサイト名で設定した値が表示されます。
SITE_TITLE 「ページ名 - サイト名」が表示されます。
HEAD_INFO RSS auto-discovery情報が表示されます。
THEME_CSS テーマのCSSへの相対パスが表示されます。
USER_CSS 管理者でログイン→「管理」→「スタイル設定」ページの「ユーザ定義スタイル」で定義した文字列が表示されます。
THEME_URI setup.datで定義した、テーマを格納するディレクトリを表示します。

主にbodyで利用されるPARAMETER_NAME

PARAMETER_NAME 概要
MENU Wikiメニューを表示します。ログイン状態によってWikiメニューは自動的に表示項目が決まります。
CONTENT 該当ページの内容が、HTMLに変換済みで表示されます。
FOOTER 管理者情報、FSWikiのバージョン情報が表示されます。CSSの指定はclass="footer"

制御系のPARAMETER_NAME

制御系の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