テンプレート・タグの基本

PowerCMS Xのテンプレート・タグの記法について紹介します。PowerCMSと完全に同じではありませんが、多くの場合同じ書き方ができます。

テンプレート・タグは大文字小文字を考慮せずに記述できます。タグの先頭と最後に'$' を書いてもよく、 接頭子の後に':'を付与することができます。終了タグの"/"は省略可能です。
引数の不要なモディファイアでは、属性値を省略できます。

ファンクションタグ

ファンクションタグは、HTMLの hr要素や img要素のように、単独で利用、閉じタグを持たないテンプレート・タグです。

<mtvar name="name" escape>, <mtvar name="name" escape="1">,
<MTVar name="name" escape />, <mt:getVar name="name" escape="1" />,
<Mt:var name="name" escape="1" />, <$mt:Getvar name="name" escape="1"$>,
<mt:Var name="name" escape="1" />...

ブロックタグ

ブロックタグは HTML の p要素や div要素のように開始タグと終了タグをもちます。値をループ出力したり、ブロック内に特定のコンテキストをセットする目的で利用されます。

<mt:block param1="1" param2="2">
...
</mt:block>

条件タグ

条件タグはブロックタグと同じように開始タグと終了タグをもち、特定の条件に合わせて要素内容を出力するかしないかを分岐するためのテンプレート・タグです。

<mt:if name="variable_name1"> 
    ...
<mt:elseif name="variable_name2">
    ...
<mt:else>
    ...
</mt:if>

タグ属性(attribute)とグローバルモディファイア

タグ属性は、ファンクションタグやブロックタグ・条件タグに条件を渡すためのもので、HTMLのタグ属性と同じように「=""」の形で指定します。
グローバル・モディファイアは、値が出力される前に、値に何らかの加工を行うためのもので、タグ属性と同じくHTMLのタグ属性のように「=""」の形で指定します。

value    : <mt:var name="name">
array    : <mt:var name="array[key]">
      or : <mt:var name="array.key1.key2">
variable : <mt:var name="$variable">
      or : <mt:var name="$variable[key]">
request variable :
           <mt:var name="request.name">
                        (HTTPリクエスト変数'$_REQUEST'から値を取得します。)
csv      : <mt:var name="name" replace="'value1','value\'2'">
      or : <mt:var name="name" replace="value1,value2">
                        (<=タグの実装により)

PowerCMS との違い

グローバル・モディファイアでは、属性値を省略できます。複数の値を渡すグローバル・モディファイア(例 : regex_replace)では、「,」を区切りとしたCSVで値を渡します。PowerCMSと違い、"(ダブルクオート)"で囲った中に'(シングルクオート)'で囲った複数の値を「,(カンマ)」で区切って記述します。

また、すべてのタグに互換性があるわけではないことに注意してください。例えば、mt:subcategoriesは PowerCMS Xでは利用できません。代わりに mt:nestableobjects タグを利用します。

テンプレート・タグの種類

種別解説
コア・タグデータベース接続なしで条件によらず常に利用できるタグです。mt:if, mt:loop, mt:varなど
システム・タグデータベース接続後、条件によらず常に利用できるタグです。mt:websitename, mt:websiteurlなど
ダイナミック・タグモデルの設定によって動的にシステムに登録され、設定によって利用できる・できないことがあるタグです。mt:entries, mt:entrytitle, mt:categorypermalinkなど