| ブログトップ | CMS関連 |

MTSetVarBlockの注意事項

MTで変数を定義するときには
・MTSetVar
・MTSetVarBlock
の2パターンがあります。
 
簡単な文字列を使用する場合は「MTSetVar」
例) 
<MTSetVar name="hoge" value="文字列">
 
ブロックで使用する場合、またはMT用のタグを使用する場合は「MTSetVarBlock」を使用することになります。
例)MT用のタグの場合
<MTSerVarBlock name="hoge">
<$MTEntryTitle$>
</MTSerVarBlock>
 
取り出すときは
例) 
<MTGetVar name="hoge">
とします。
 
ということで、さっそくエントリーのタイトルを変数に入れて、今度はMTIfで条件分岐してみましょう。
例)
※エントリータイトルが「ほげ」であるとする。
<MTSerVarBlock name="hoge">
<$MTEntryTitle$>
</MTSerVarBlock>
 
<MTIf name="hoge" eq="ほげ">
この記事のタイトルは、「ほげ」です。
</MTIf>
 
さて、これでMTIfの中の文章はちゃんと表示され・・・ねぇ・・・
 
なぜだ!
 
というわけで、Googleの出番です。
さっそく見つかりました。
 
http://www.h-fj.com/blog/archives/2007/09/20-101526.php (The blog of H.Fujimotoさん)
 
どうやらMTSetVarBlockでは、改行コードまで変数の中に含んでしまうようです。まあBlockという意味を考えれば当たり前ですね。
 
というわけで解決方法
<MTSerVarBlock name="hoge"><$MTEntryTitle$></MTSerVarBlock>
 
<MTIf name="hoge" eq="ほげ">
この記事のタイトルは、「ほげ」です。
</MTIf>
 
MTSerVarBlockでは改行しない!(もちろん時と場合によりますが)
今度はちゃんと「この記事のタイトルは、「ほげ」です。」が表示されました。
 
よかったよかった。
日々の生活にhappyをプラスする|ハピタス

このエントリーをはてなブックマークに追加

LINEで送る

nandani | 2010年07月18日 | コメント(0) | トラックバック(0) | CMS関連

トラックバック

トラックバックURL

コメントする

※メールアドレスが公開されることはありません。

名前 *
メール*
URL
Copyright(c) 2010 - 2017 ダリの雑記