こんばんわ、しょごです。
今回はMovableTypeのグローバルモディファイアを紹介します。
#グローバルモディファイアとは
元来MTタグにはタグそれぞれ専用のモディファイア(HTMLタグでいうアトリビュート、imgタグでいうaltみたいなもの)
が存在しますが、それ以外にどのタグでも使えるグローバルモディファイアというものが存在します。
こいつが実はなかなか使えるものが多いんですが、あまり知られていません。
なので今回はそのグローバルモディファイアとその効果を紹介します。
##_default
ファンクションタグが空だった場合、ここに設定されたものが出力されます。
<$MTEntryTitle _default="タイトルが無いぜウェーイ"$>
cat
設定すると、タグ出力で格納されている文字列の末尾に設定した文字列を付与することができる。
下記のようにすると語尾ににゃんがつく。例:記事のタイトルにゃん
見た目だけみると文字をカットするようにも見えるが実は違うので注意
<$MTEntryTitle cat="にゃん"$>
count_characters
1を設定したMTタグで出力される文字列の空白を含んだ文字数が出力される。
<$MTEntryTitle count_characters="1"$>
encode_html
1を設定したMTタグをHTMLエンコードして出力する。
<や>は<、>となる
<$MTEntryBody encode_html="1"$>
encode_url
1を設定したMTタグをURLエンコードして出力する。
<$MTEntryPermalink encode_url="1"$>
lower_case
1を設定するとMTタグ内の値を小文字に変換する
<$MTEntryBody lower_case="1"$>
upper_case
1を設定するとMTタグ内の値を大文字に変換する
<$MTEntryBody upper_case="1"$>
nl2br
1を設定すると空白行を
に変換してくれる(カスタムフィールドのテキストエリアを使った場合改行されない場合はこれをつける)
xhtmlを付与すると
が出力される。
<$MTEntryBody nl2br="1">
<$MTEntryBody nl2br="xhtml">
remove_html
1を設定するとMTタグ内のHTMLタグを除外する
<$MTEntryBody remove_html="1"$>
replace
検索対象の文字列(AAAA)と変換後の文字列(BBBB)を設定することでMTタグ出力の際に置換してくれる。
例えばテストサーバのURLを本番用に変換したいときなどに使用する。
<MTEntryPermalink replace="AAAA","BBBBB">
regex_replace
replaceの正規表現バージョン。
<MTEntryBody regex_replace="/twaintail/","meidofuku">
setvar
このモディフィアを利用すると出力はされず、指定した値に変数として格納されます。
を利用したものと同じ効力が得られます。
<$MTEntryBody setvar="moemoe"$>
trim_to
指定した文字数のみ出力します。
<$MTEntryTitle trim_to="20"$>
zero_pad
指定した文字数になるように0で埋めます
例えば5と指定した場合、出力される文字が2の場合は「00002」となります。
<$MTprice zero_pad="5"$>
他にもグローバルモディファイアはあるので、用途によって使い分けてみてください。
今までMTタグでわさわさかかなきゃいけなかったものがぐんと楽になるものもある、かもしれませんよ。