テンプレートの内容は、テキスト・ラベルつきブロック そしてプレースホルダから構成されています。ブロックの中身は再利用でき、 プレースホルダに異なる値を代入して何度もパースすることができます。
例 47-1典型的なテンプレート
|
プレースホルダはテンプレートの中で定義できるもので、 その中身は PHP コードから設定します。 PHP code with content. バージョン (1.1.x) までのプレースホルダの書式は下記のようになります。
{[0-9A-Za-z_-]+} |
バージョン 1.2.x 以降は、ドットも使用することができます。
{[\.0-9A-Za-z_-]+} |
この意味は、 プレースホルダの名前は英大文字および英小文字、 下線とハイフンからなることを意味します。 名前は、波括弧で囲んだ中で空白をあけずに指定しなければなりません。 有効な名前は例えば下記のようになります。
{Placeholder} |
{place2_holder} |
{PLACEHOLDER1} |
{Place-Holder} |
バージョン 1.2.x 以降では、これも有効です。
{Place.Holder} |
無効な名前は例えば下記のようになります。
{ Placeholder 3 } (空白が含まれている) |
{place*holder} (使用できない文字が含まれている) |
ブロックの書式は次のようになります。
<!-- BEGIN [0-9A-Za-z_-]+ --> ... ブロックの内容 ... <!-- END [0-9A-Za-z_-]+ --> |
バージョン 1.2.x 以降では、ブロック定義にドットも使用することができます。
<!-- BEGIN [\.0-9A-Za-z_-]+ --> ... ブロックの内容 ... <!-- END [\.0-9A-Za-z_-]+ --> |
ブロック名のルールはプレースホルダと同様です。 プレースホルダとは対照的に、 ブロックのマークアップでは空白を入れなければなりません。
ブロックの入れ子(ネスティング)は許されますが、解析に注意深くなってください。 最も深い内部のブロックを最初にセットし解析しなければならず、 次に、内側から外側に着手し、解析するようにしなければなりません。
IT では、全体のテンプレートファイルはそれ自体が "__global__" と呼ばれるメタブロックの中で、 入れ子になっています。ほとんどのブロック関連の関数は、 デフォルトのブロック名としてこれを使用します。 ブロックに関連するほとんどの機能は、 デフォルトとしてこのブロック名を使用します。
例 47-2テンプレート
|
例 47-3スクリプト
|
例 47-4出力
|