どうやらMovableTypeのElseIfはElseIfじゃないらしい。
はいさー。
なんかダルダルな一日の鳥ですよ。
MovableTypeの4使ってて。テンプレートタグ(つか制御構文)で、どうもElseIfがElseIfとして機能してないことを発見したさ。
<MTSetVar name="hoge" value="abc"> <MTIf name="hoge" like="abc"> <MTSetVarBlock name="hoge"><$MTVar name="hoge"$>def</MTSetVarBlock> <MTElseIf like="def"> <MTSetVarBlock name="hoge"><$MTVar name="hoge"$>ghi</MTSetVarBlock> </MTIf> <$MTVar name="hoge"$>
こうするよね。
ふつーはさ、これで結果は「abcdef」のはずなんだ。
と・こ・ろ・が。
「abcdefghi」って出てくる。
つまりどういうことか。内部的にはMTElseIfは、elseifじゃなくて、別の独立したif文として変換されているに違いない。
MTElseIfはおそらくかたちだけなので、本来のプログラム文と同じ機能はどーも期待するとまずーいことになるね〜。単独でも問題無いテンプレートの組み方をした方が良いかもかも。
でわでわ。