デザインテンプレートの書式・変数
WIKIPLUSのデザイン・テンプレートは、Smartyといわれるテンプレートエンジンを利用しています。
Smartyでは{から}の囲んだ中に変数や関数を書くことができ、変数の表示や、様々な処理(関数の実行、ループ、if等の分岐)をすることができます。参照:Smartyの構文
最新バージョンのSmartyでは複雑な構文も利用出来ます
また、標準のSmartyの変数、タグに加え、WIKIPLUSには、独自の変数、変数が拡張されています。
WIKIPLUSの独自関数
関数も{から}で囲むことにより実行ができます。[]は省略可能なものを意味します。
{関数名[ 引数1 [引数2] ...]}
関数は引数を持つことができ、動作モードを変えることが可能です。
WIKIPLUSはSmartyで作られたデザインの中に「WIKIで書かれた本文」を差し込む枠組みを持ちます。
この骨子になるのが、下記の関数群です。
body | コンテンツエリア本文。この部分が編集モードで編集できます。 WIKIPLUSの骨子に当たる部分で、ページに使う事ができる全てのデザインファイルで、body要素を入れなくてはなりません。 また、body要素で表示されるページは、ブラウザの「URL」で示すパーマリンクとなります。 |
---|---|
pane | コンテンツエリアです。この部分が編集モードで編集できます。 本文ではなく、ページ内にある「その他の編集要素」として、コンテンツ担当者が編集できる領域となります。 動きとしては、「別のパーマリンクのページ」を透過的にpaneで呼び出すことになります。pane命令で直接呼ばれたページは、非表示であったとしても表示する事ができます。従って、「bodyとしては表示しない(直接URLで指定しても表示しない)ページ」を、要素として付け加えるときに用意します。 |
その他の関数
Smartyで用意されている関数を直接利用することが可能です。
Smartyで用意された関数をそのまま利用することができます。
{literal}~{/literal} | デザインファイル内で、javascript、cssなどを記述する際は{literal}~{/literal}で囲みます。 |
---|---|
{* 〜 *} | コメント |
また、最新バージョンのSmartyでは下記のものが利用可能です
変数
$topic_path | パンくず。ページの階層を表示します。 |
---|---|
$topic_path_val | ページ名がトピックパス毎の配列となり格納されています。 {$topic_path_val|@last}としてページ名の最後を取得することができます |
$sitename | サイト名を表示します。 |
$url | サイトURLを表示します。 |
$copyright | サイトオーナ名を表示します。 |
$description | ページ概要を表示します。 |
$keywords | キーワードを表示します。 |
$author | サイト管理者名を表示します。 |
$companyname | サイト著作者名を表示します。 |
$pagedate | コンテンツ帰属日を表示します。 |
$lastmodified | 最終更新日時を表示します。 |
修飾子プラグイン
Smartyの修飾子プラグインは、変数に対し、何らかの処理を行うことができます。[]は省略可能なものを意味します。
{$変数名|修飾子プラグイン[:引数2[:引数3]]}
第1引数は、変数名で表示する中身となります。そのため、文字列が中心であり、配列の場合もあります。
許可されている修飾子の一覧は下記の通りです。
count | 配列の数を数えます。php標準関数のcount |
array_pop | 配列の末尾から要素を取り除く。php標準関数のarray_pop |
array_reverse | 要素を逆順にした配列を返す。php標準関数のarray_reverse |
sort | 配列を昇順にソートします。php標準関数のsort |
strlen | 文字列の長さを得る。php標準関数のstrlen |
wp_implode | 配列要素をセパレータで連結し、文字列として返す。第2引数に、セパレータを入れることができる。 |
wp_explode | 文字列を、第2引数(省略の場合はカンマ)により分割し、配列を返す。 |
first | 配列の最初の値を文字列として返します。存在しない場合はヌルストリングを返します。 Smartyでは配列変数を利用することができるので、必ずしも使う必要はありません。 |
last | 配列の最後の値を文字列として返す。 |
php標準関数は、サーバ管理者のlimit_config設定により、直接、追加することが可能です。ただし、第一引数が評価できる内容が含まれる変数である必要があり、かつ文字列、配列であること。また、返値として文字列、配列になる条件があります。
また、最新バージョンのSmartyでは下記のものが利用可能です