| WordPressの「ユーザ」管理画面にてフィールドを増やす方法ブログトップ | CMS関連 | MTのエクスポート・インポート時の注意事項
MTSetVarBlockの注意事項
この記事は1年以上前の記事のため、内容が古い可能性があります。
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では改行しない!(もちろん時と場合によりますが)
今度はちゃんと「この記事のタイトルは、「ほげ」です。」が表示されました。
よかったよかった。
トラックバック
トラックバックURL
コメントする
※メールアドレスが公開されることはありません。