LoginSignup
11

More than 5 years have passed since last update.

知ってると絶対トクする、MovableTypeのグローバルモディファイア

Posted at

こんばんわ、しょごです。

今回は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タグでわさわさかかなきゃいけなかったものがぐんと楽になるものもある、かもしれませんよ。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11