PowerCMS X のテンプレートタグの条件判断で正規表現を使いたいときはmatchを使う
なんかPowerCMSのlikeとごっちゃになるのでメモ。
PowerCMSのテンプレートタグの処理で<mt:if name="hoge">...</mt:if>などの条件判断を使う際に、対象となる文字列中に指定の文字列が含まれるか判断する場合には、likeモディファイアを使う。当該モディファイアは、正規表現も使える。
<mt:if name="hoge" like="^(AND|OR)$">
一方、PowerCMS Xでは、like,matchのタグ属性のいずれかを使う。
ここで注意したいのは、PowerCMS X のlikeは正規表現を使えない事。
正規表現を使いたい場合は、matchを使う。
<mt:if name="hoge" match="^(AND|OR)$">
26/06/08 追記)
URLなどスラッシュ「/」の付いたパターン文字列を指定する場合、
例えば、次のいずれかにマッチさせたい場合、
report/index.html
report/document.html
report/document.html
次の通り。
<mt:If name="url__base" match="^(report\/index.html|report\/document.html)$">