PowerCMS X でテンプレートタグの mt: 部分は色んなルールがある
テンプレートタグは <mt:date> のように小文字で書くことが一般的だと思います。
<mt:date>
結果
2024-09-14 16:40:43
実はテンプレートタグは大文字と小文字を区別していなくて、コロンも不要です。前後に $ を付けてタグだと分かりやすくすることもできます。タグの後ろにスラッシュ(/)も付けられます。
以下は参考例で、すべてテンプレートタグとして処理されます。
コロン無し
<mtdate>
大文字、小文字が混在
<MTDate>
前後に $ を付ける
<$mt:date$>
先頭だけ $ を付ける
<$mt:date>
末尾に / を付ける
<mt:date />
大文字小文字を適当に設定する
<mt:dATe />
<mT:dATe />
ファンクションタグは 「mt + モデル名 + カラム名」で記述するので、キャメルケースが読みやすいと思います。
<mt:EntryTitle>
<MTEntryTitle>
ファンクションタグは、カラムの「名前」もしくは「ラベル」で設定できる
テンプレートのファンクションタグ「mt + モデル名 + カラム名」ですが、
「カラム名」は「名前」と「ラベル」のどちらでも利用できます。
例えば記事モデルに下記カラムを作成した場合に、
このようなファンクションタグが利用できます。
<mt:Entries>
<mt:EntryData>
<mt:EntryDataHoge>
</mt:Entries>
結果は同じ値が表示されます。
例はラベルを「Data Hoge」として半角スペースを入れていますが、ファンクションタグは半角スペースを削除して「DataHoge」と記述します。
事故らないように気をつけよう
例えば下記のように「uniqueid」カラムを作ったとします。ラベルは「ユニークID」です
ラベルは日本語名を使用できますが、ファンクションの時は日本語が反応しません。例だと「ユニーク」の部分です。つまり「ユニーク」を削除した「ID」の部分だけ反応します。
よって、「uniqueid」のファンクションタグは以下の2つが指定できます。
名前で指定した場合
<mt:EntryUniqueid>
ラベルで指定した場合
<mt:Entryid>
ここで思うのです。<mt:Entryid> タグは既に「ID」カラムが存在しているので重複していると。でも結果は正常に処理されて、 <mt:Entryid> は記事IDの値として表示されました。おそらくデフォルトで存在しているカラムが優先されるようです。
ただし、自身で作成したカラム同士だと、どのように処理されるか分からないので、「ラベル」は「日本語表記のみで英語を含めない」もしくは「英語表記のみ」で統一するのが運用としては良いかもしれません。
この記事が気に入ったらサポートをしてみませんか?