テンプレート構文メモ tag/TemplateParserの構文に関してのメモpost

参考:rhacoアプリ開発日誌 - 逆引きrhaco53: rhacoのテンプレートで使用するタグまとめ

※整形中orz

ループ
構文
<rt:loop>
?
</rt:loop>
パラメータ
param   ループ対象の変数を指定、{$hoge}、hoge、など、省略値はparam
var     ループ内で要素を割り当てる変数名を指定、fuga、など、省略値はvar
counter ループ内で要素のキーを割り当てる変数名を指定、key、など、省略値はcounter
first   ループの先頭要素かの判断に使用する変数名を指定、is_first、など、省略値はfirst
last    ループの末尾要素かの判断に使用する変数名を指定、is_last、など、省略値はlast
offset  ループの開始オフセットの指定、省略値は1
limit   ループ回数の指定、省略値は0(無制限)
サンプル
ソース
※ $parser->setVariable('hoge',array("a","b","c"));
<rt:loop param="{$hoge}" var="fuga" counter="key">
hoge[{$key}] = '{$fuga}'<br>
</rt:loop>
実行結果
hoge[0] = 'a'<br>
hoge[1] = 'b'<br>
hoge[2] = 'c'<br>
説明
ループ
構文
<rt:for>
~
</rt:for>
パラメータ
counter ループ内で現在のカウンタ値を割り当てる変数名を指定、i、など、省略値はcounter
start   ループの初期値を指定、省略値は0
end     ループの終了値を指定、省略値は10
step    ループ増分を指定、省略値は1
サンプル
ソース
<rt:for counter="i" start="0" end="5" step="2">
i = {$i}<br>
</rt:for>
実行結果
i = 0<br>
i = 2<br>
i = 4<br>
説明
条件分岐
構文
<rt:if>
~
<rt:else />
~
</rt:if>
パラメータ
param   条件の判断に使用する変数を指定、{$hoge}、など、省略値はfalse
value   条件の判断に使用する値を指定、5、など
サンプル
ソース
※ $parser->setVariable('hoge',"a"));
<rt:if param="{$hoge}" value="a">
hoge is 'a'<br>
</rt:else />
hoge is not 'a'<br>
</rt:if>
実行結果
hoge is 'a'<br>
説明
<rt:ifnot>の反対の動作、条件がtrueになる場合に動作するのが<rt:if>
<rt:else />は省略が可能です
条件分岐(否定)
構文
<rt:ifnot>
~
<rt:else />
~
</rt:ifnot>
サンプル
ソース
※ $parser->setVariable('hoge',"a"));
<rt:ifnot param="{$hoge}" value="a">
hoge is not 'a'<br>
</rt:else />
hoge is 'a'<br>
</rt:ifnot>
実行結果
hoge is 'a'<br>
説明
<rt:if>の反対の動作、条件がfalseになる場合に動作するのが<rt:ifnot>
<rt:else />は省略が可能です
存在確認
構文
<rt:has>
~
</rt:has>
パラメータ
param   条件の判断に使用する変数を指定、{$hoge}、など、省略値はparam
サンプル
ソース
※ $parser->setVariable('hoge',"a"));
<rt:has param="{$hoge}">
hoge is not empty<br>
</rt:has>
実行結果
hoge is not empty<br>
説明
paramにarray(),null,""を指定すると<rt:has> ~ </rt:has>は実行されない
存在確認(否定)
構文
<rt:hasnot>
~
</rt:hasnot>
パラメータ
param   条件の判断に使用する変数を指定、{$hoge}、など、省略値はparam
サンプル
ソース
※ $parser->setVariable('hoge',""));
<rt:has param="{$hoge}">
hoge is empty<br>
</rt:has>
実行結果
hoge is empty<br>
説明
paramにarray(),null,""を指定すると<rt:hasnot> ~ </rt:hasnot>が実行される
差込
構文
<rt:include />
パラメータ
href    現在のテンプレートに差し込む別のテンプレートへのパスを指定します。
サンプル
ソース
<rt:include href="./hoge.html" />
説明
hrefで指定したテンプレートが現在のテンプレートに読み込まれて表示されます
継承
構文
<rt:extends />
パラメータ
href    現在のテンプレート継承元テンプレートのパスを指定します。
サンプル
ソース
<rt:extends href="./hoge.html" />
説明
hrefで指定したテンプレートから現在のテンプレートが派生していることを宣言します
<rt:block>で継承元の同じ名前のブロックを置き換えることが出来ます
ブロック指定
構文
<rt:setblock />
パラメータ
href    
サンプル
ソース
<rt:setblock href="./hoge.html" />
説明
ブロック
構文
<rt:block>
~
</rt:block>
パラメータ
name    ブロック名を指定します、省略値はname
サンプル
ソース
<rt:block name="hoge" />
~
</rt:block>
説明
<rt:extends />で指定したテンプレート内に存在する同じ名前のブロックを置き換えます
置換
構文
<rt:replace />
パラメータ
src     置換対象の文字列を指定します。
dest    置換文字列を指定します。
サンプル
ソース
<rt:replace src="hoge" dest="fuga" />
実行結果
説明
<rt:extends />で指定したテンプレート内に存在する同じ名前のブロックを置き換えます
コメント
構文
<rt:invalid />
パラメータ
name    指定した名前の疑似Exceptionのみを対象にします、初期値は、exceptions(全ての疑似Exception)
var     疑似Exceptionメッセージの列挙に使用する変数名を指定します、初期値は、errors
type    出力のフォーマットを指定します、
ulかplainのどちらかを指定できます、
ulはulタグでフォーマッティングします、
plainはそのまま出力されます、
初期値は、ul
サンプル
説明
ExceptionTrigger::raise()で疑似Exceptionが発行されている場合はそれを表示します
コメント
構文
<rt:comment>
~
</rt:comment>
パラメータ
なし
サンプル
ソース
hoge<br>
<rt:comment>
fuga<br>
</rt:comment>
moga<br>
実行結果
hoge<br>
moga<br>
説明
囲まれた文字列をコメントとして処理して結果に出力しないようにします

   /   変更履歴  /   Permalink  /  このエントリーをはてなブックマークに追加 
 カテゴリ: php, rhaco  /   タグ: php, rhaco, メモ