※ ChatGPTを利用し、要約された質問です(原文:Movable Type4.2 のMT:Ifについて教えてください。)
Movable Type4.2 のMT:Ifについて教えてください。
このQ&Aのポイント
MT4.2のMT:Ifを使用してカテゴリ別ブログ記事のサイド部分にカテゴリの一覧表を作成し、該当する子カテゴリの文字色を変えたいと思っていますが、条件分岐がうまく機能しない問題があります。
該当カテゴリのIDを固定にすると条件分岐が正常に動作することから、問題は変数の取得と比較にあります。
CatLabelとMyCatLabelの値は正しく取得できていることが確認されています。なぜ条件分岐が正常に機能しないのか、解決策を教えていただけないでしょうか。
Movable Type4.2 のMT:Ifについて教えてください。
PHPを組んだことはありますが、MTは一切使ったことのない初心者です。よろしくお願いいたします。
カテゴリ別ブログ記事のサイド部分にカテゴリの一覧表(ツリー構造)をつくりたいのですが、現在表示している子カテゴリだけ、文字色を変えたいと思っています。
MT4.2ではMT:Ifが利用できるとのことで、以下のようにしてみました。(<li> or <li class="on">タグで文字色を変えようとしています)
<MT:SetVarblock name="CatLabel"><$MT:CategoryID$></MT:SetVarblock>
<MTSubCategories category="hogehoge">
<MTSubCatIsFirst>・・・略・・・</MTSubCatIsFirst>
<MT:SetVarblock name="MyCatLabel"><$MT:CategoryID$></MT:SetVarblock>
<MT:If name="CatLabel" eq="<MT:GetVar name="MyCatLabel">">
<li class="on"><MT:CategoryLabel></li>
<MT:Else>
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>[<MT:GetVar name="MyCatLabel">]</li>
</MT:If>
<MTSubCatIsLast>
・・・略
</MTSubCatIsLast>
</MTSubCategories>
一覧は正しく取得され、表示するのですが、該当しているはずのカテゴリが<li class="on">になっていません。
<MT:If name="CatLabel" eq="10">
のように該当カテゴリのIDを固定にすると、ちゃんと分岐されているようですので、この部分が悪いようです。
ただし、MyCatLabelは[<MT:GetVar name="MyCatLabel">]部分でちゃんと表示を確認できましたし、"CatLabel"も、</MTSubCategories>後にMT:GetVarを用いて画面表示するとちゃんと値がはいっています。
なぜIF分岐にひっかからず通ってしまうのか、どうすれば通るようになるのかどなたか教唆ください。
お礼
PHPでコーディングするのと同様、変数だから頭にひとつ$をつける、のですね。 うまく動くようになりました。ありがとうございます。