2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MovableTypeのグローバル・モディファイアでいろいろ解決する時のやつ

Last updated at Posted at 2017-03-16

すぐ忘れるからまとめる:relaxed:

出力内容を変数にするやつ

  • 値を出力せずに変数に入れる
  • 使いすぎたりちりばめたりすると、パッと見で「出力」なのか「変数化」なのか判断ミスって事故る:innocent:
modifiers
setvar="_hoge"

例:

template
<mt:BlogName setvar="_thisBlogName">
<mt:Var name="_thisBlogName">
output
Blog Name

出力内容をルート相対にするやつ

  • ドメイン部を/に置換する
  • テスト環境とか、本番サーバとCMSサーバでドメインが違う時とかに使う
modifiers
regex_replace="/^https?:\/\/[^\/]+\//","/"

例:

template
<a href="<mt:EntryLink regex_replace="/^https?:\/\/[^\/]+\//","/">"><mt:EntryTitle></a>
output
<a href="/hoge/basename.html">Entry Eitle</a>

応用

  • ドメイン部を置換する
  • テスト環境とか、本番サーバとCMSサーバでドメインが違う時とか、どこかのフォルダ下で展開されるコンテンツとかに使う
modifiers
regex_replace="/^https?:\/\/[^\/]+\//","$_OpenPath"

例:

template
<mt:SetVar name="_OpenPath" value="http://www.hoge.jp/">
<a href="<mt:EntryLink regex_replace="/^https?:\/\/[^\/]+\//","$_OpenPath">"><mt:EntryTitle></a>
output
<a href="http://www.hoge.jp/hoge/basename.html">Entry Eitle</a>

出力時に空白改行を出力しないようにするやつ

  • 出力内容から空白改行を置換して消す
  • 出力する前にいろいろ変数設定とかで行数使っている場合にソースがスッカスカになって:no_good:って気分になるから使う
  • この正規表現は調べてるといろんなパターンがある
  • Forで囲わないで出力のVarに書いても良い
template
<mt:For regex_replace="/^[\ \t\r\n]+/mg","">
    <mt:Ignore>
        ここに処理を書く
    </mt:Ignore>
</mt:For>

0埋めするやつ

  • 0埋めしてケタ数を揃える
  • 書くほどの内容じゃないんだけど「あ、アレ!あれだよ!桁揃えるやつ!」となるからメモ:v:
modifiers
zero_pad="4"

例:

template
<mt:EntryID zero_pad="10">
output
0000000142

X文字で省略するやつ

  • X文字超えたら...に切る
  • これを求める場合はほぼデザイン上の都合なので、CSSでやって、どうぞ:raised_hand:
template
<mt:EntryTitle count_characters="1" setvar="_titleCount">
<mt:If name="_titleCount" gt="30">
    <mt:EntryTitle trim_to="30">...
<mt:Else>
    <mt:EntryTitle>
</mt:If>  
2
2
0

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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?