MT タグで出力された値を変数に格納する時に便利な MTSetVarBlock タグですが、使用する時の注意点の一つに「改行を含めない」ことが挙げられます。
例えば文字列 something を変数 hoge に格納し、MTIf で比較をする際に下記のようなコードを記述すると、FALSE が出力されます。MTGetVar で変数 hoge の中身を見てみると、両端に半角スペース(恐らく中身は改行コード)が含まれており、その影響で比較が失敗しているようです。
1 2 3 4 5 6 7 8 9 |
<MTSetVarBlock name="hoge"> something </MTSetVarBlock> <MTIf name="hoge" eq="something"> TRUE <MTElse> FALSE </MTIf> |
上記の比較結果を望まない場合、MTSetVarBlockタグを使用する場合は下記のように改行を含まないかたちで使用する必要があります。
1 2 3 4 5 6 7 |
<MTSetVarBlock name="hoge">something</MTSetVarBlock> <MTIf name="hoge" eq="something"> TRUE <MTElse> FALSE </MTIf> |
このコードを実行すると TRUE が表示されます。