< 戻る

テンプレートの独自記法

2026-02-12 22:31:12

テンプレートファイル内では各ページ/部品を構成し、必要に応じてデータの加工・表示を行います。
テンプレートファイル自体がPHPファイルですので、PHPの各コマンドが利用できます。
また、下記の独自記法を利用できます。

記法


変数展開:{PPP:variable}

変数を展開する。
使用できる変数は[テンプレート内で使用する変数]を参照してください。

LOOP内での利用

ループ内ではループ元データの子データを使用できる。

- {PPP:variable.child_variable}

{PPP LOOP}を参照。


ループ:{PPP LOOP:variable}~{/PPP LOOP}

格納されたデータすべてに対して繰り返し処理する。
foreachループ。配列に対してのみ使用可能。
ループ内では valriable.child_variable の形で子データにアクセスできる。


使用例

<ul>
{PPP LOOP:articles}
<li>
{PPP:articles.title}
</li>
{/PPP LOOP}
</ul>
article内のtitleが列挙される


判定:{PPP IF:variable}~{/PPP IF}

変数が設定されている場合、タグ間の内容が出力される。
{PPP IF:caption}<p>{PPP:caption}</p>{/PPP IF}のように、
変数に値が設定されている場合だけタグを出力したいような場合に使用する。

分岐:{PPP IF:variable}(1){PPP ELSE}(2){/PPP IF}

変数が設定されている場合(1)が、されてい相場合(2)が出力される。

使用例

{PPP IF:variable} true! {/PPP IF}

バリエーション

- {PPP IF:variable == "値"}
- 変数が定義されており、値と同じ場合に処理

- {PPP IF:variable != "値"}
- 変数が定義されていないか、値と異なる場合に処理

- {PPP IF:variable < "値"}
- 変数が定義されていないか、値より小さい場合に処理

- {PPP IF:variable > "値"}
- 変数が定義されており、値より大きい場合に処理

- {PPP IF:variable.child_variable}
- LOOP内では変数と同様にドット区切りで子データへのアクセスが可能。

- {PPP IF:variavble}(1){PPP ELSE:variable}(2){PPP ELSE}(3){/PPP IF}
- 式に一致した場合は(1)、PPP ELSE:の式に一致した場合は(2)、しない場合は(3)が出力される。条件式は上記各バリエーションが使用できる。{PPP ELSE:variable}は複数使用可。


{PPP INCLUDE:file_name}

他テンプレートファイルの読み込み。
INCLUDEはループ防止のため2階層までしか処理されない。

{PPP LAYOUT:file_name}

レイアウトテンプレートの読み込み。
共通レイアウト用のテンプレートを読み込み、内部にコンテンツを展開する。
[レイアウトテンプレート]を参照。