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分岐にひっかからず通ってしまうのか、どうすれば通るようになるのかどなたか教唆ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • elbavom
  • ベストアンサー率100% (67/67)
回答No.1

こんばんは。 作成したテンプレートの <MT:If name="CatLabel" eq="<MT:GetVar name="MyCatLabel">"> が間違ってます。具体的には、テンプレートタグの中に、テンプレートタグを書くことはできません。 <MT:If name="CatLabel" eq="$MyCatLabel"> と書くのが正解です。

yukino_0_-
質問者

お礼

PHPでコーディングするのと同様、変数だから頭にひとつ$をつける、のですね。 うまく動くようになりました。ありがとうございます。

関連するQ&A

  • MTテンプレートタグをHTMLタグ内に記入できる?

    (1)<ul><mt:TopLevelCategories>  <li><$mt:CategoryLabel$></li>  </mt:TopLevelCategories></ul> (1)は「カテゴリ名をリスト形式で出す」ムーバブルタイプのプログラムです。 リストの1番目だけ、「class="selected"」でクラス属性を付加したいです。 (2)<MTSubCatIsFirst>class="selected"</MTSubCatIsFirst> (2)は、各カテゴリの始めに1回だけ実行するタグで「class="selected"」を打ち出しています。 (3)<ul><mt:TopLevelCategories>  <li <MTSubCatIsFirst>class="selected"</MTSubCatIsFirst> ><$mt:CategoryLabel$></li>  </mt:TopLevelCategories></ul> (3)の様に記述したいのですが、HTMLタグ内にMTテンプレートタグを、入れ子で書く事になります。 エスケープシーケンスを使わなければいけませんか?

  • MT(ムーバブルタイプ)の自動サイトマップの設定について

    下記、アドレスにある自動で、サイトマップの更新を行ってくれるものの設定をしたのですが、更新日付とムーバブルタイプの表示を消すには、どうすればよろしいでしょうか? http://weblibrary.s224.xrea.com/weblog/mt/custom/mt_4.html ちなみに、このテンプレートのコードは、下記の通りです。 <MTIfArchiveTypeEnabled archive_type="Category"> <div class="module-categories module"> <h2 class="module-header">サイトマップ</h2> <div class="module-content"> <ul class="tree"> <li><a href="<$MTBlogURL$>" title="<$MTBlogDescription$>">Home</a></li> <li><MTTopLevelCategories> <MTSubCatIsFirst><ul class="tree"></MTSubCatIsFirst> <li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> <ul> <MTEntries> <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li> </MTEntries> </ul> <MTSubCatsRecurse> </li> <MTSubCatIsLast></ul></MTSubCatIsLast> </MTTopLevelCategories></li> <li><a href="<$MTBlogURL$>sitemap.html" title="サイトマップ">サイトマップ</a></li> </ul> </div> </div> </MTIfArchiveTypeEnabled> どうぞ、よろしくお願いいたします。

  • Movable Type 教えてください。

    簡単に説明いただけたら幸いです。 すでにMTで作成しているHPの一部(リンクの変更をしたいのですが、 うまく表示できなくて困っております。 変更したのは。 デザインよりテンプレート選択→index.htm内で 現在、リンクがかかってるであろうとする。 <li><a href="http://www.ttt.com/aaa.htm" class="lid">商品について</a></li> 部分を<li><a href="http://www.ttt.com/mmm.htm" class="lid">商品について</a></li> に変更し、リンクの変更をかけたいのですが MT確認画面で確認するとページが表示されずアドレスを確認すると、 最後がhttp://~~~~~~/mt.cgiになっており表示できません。 リンク先については、一覧よりウェブページの管理→(タイトル)商品についてを選択 ここの、ファイル名を変更(mmm.htm)としました。 どうすればmmm.htmを反映させることができますでしょうか。 他にさわらなければいけないファイルがあるんでしょうか。 詳しく教えていただけば幸いです。 どうぞよろしくお願いいたします。

  • Movable Typeのアーカイブテンプレートで

    Movable Typeのアーカイブテンプレートでの出力について お世話になります。 Movable Typeをはじめて触る初心者なのですが アーカイブテンプレートを利用しカテゴリの記事を出力する所で手が止まってしまいましたので わかる方がいらっしゃいましたら教えて頂きたいと思います。 下記仕様です。 ========== ブログ ├ カテゴリA ├ カテゴリB ├ カテゴリC └ カテゴリD カテゴリによっては記事がないカテゴリもある為 優先度をカテゴリA→カテゴリB→カテゴリC→カテゴリDとし 上記全カテゴリを表示させる総件数を4件のみ表示したいです。 現状のMT側の記述は <ul class="numberList clearfix"> <mt:Entries category="カテゴリA"> <li class="clearfix"> <div class="imgBox rect bgWh"> <div class="table"> <a href="/blog/catA/<$MTCategoryArchiveLink$>/<$mt:EntryDate format="%Y%m"$>/"> <mt:blog_imgAsset><img class="fullImg over" src="<$MTAssetURL relative_url="1"$>" alt="" ></mt:blog_imgAsset> </a> </div> </div> <div class="textBox"> <p class="conerName">カテゴリAのタイトル</p> <p class="ttlName"><$mt:EntryTitle$></p> </div> </li> </mt:Entries> <mt:Entries category="カテゴリB"> <li class="clearfix"> <div class="imgBox rect bgWh"> <div class="table"> <a href="/blog/catB/<$mt:EntryDate format="%Y%m"$>/"> <mt:blog_imgAsset><img class="fullImg over" src="<$MTAssetURL relative_url="1"$>" alt="" ></mt:blog_imgAsset> </a> </div> </div> <div class="textBox"> <p class="conerName">カテゴリBのタイトル</p> <p class="ttlName"><$mt:EntryTitle$></p> </div> </li> </mt:Entries> <mt:Entries category="カテゴリC"> <li class="clearfix"> <div class="imgBox rect bgWh"> <div class="table"> <a href="/blog/catC/<$mt:EntryDate format="%Y%m"$>/"> <mt:blog_imgAsset><img class="fullImg over" src="<$MTAssetURL relative_url="1"$>" alt="" ></mt:blog_imgAsset> </a> </div> </div> <div class="textBox"> <p class="conerName">カテゴリCのタイトル</p> <p class="ttlName"><$mt:EntryTitle$></p> </div> </li> </mt:Entries> <mt:Entries category="カテゴリD"> <li class="clearfix"> <div class="imgBox rect bgWh"> <div class="table"> <a href="/blog/catD/<$mt:EntryDate format="%Y%m"$>/"> <mt:blog_imgAsset><img class="fullImg over" src="<$MTAssetURL relative_url="1"$>" alt="" ></mt:blog_imgAsset> </a> </div> </div> <div class="textBox"> <p class="conerName">カテゴリDのタイトル</p> <p class="ttlName"><$mt:EntryTitle$></p> </div> </li> </mt:Entries> </ul> 上記記述でブログに属する全カテゴリの出力はできているようなのですが 4件のみとする事ができません… ご教示頂けると助かります。 よろしくお願い致します。

  • Movable Typeでナビゲーションに項目を追加する仕方について。

    Movable Typeでナビゲーションに項目を追加する仕方について お伺いいたします。 以前こちらで質問した際に、とても親切な方が教えて頂いた サイトにのっている <mt:Pages tag="@topnav" sort_by="title" limit="3"> <MTSetVarBlock name="this_page_id"><$MTPageID$></MTSetVarBlock> <li class="<mt:if name="nav_on" eq="$this_page_id"> on</mt:if>"><a href="<mt:PagePermalink />"><mt:PageTitle /></a></li> </mt:Pages> のタグを元に自分のサイトのタグを照らし合わせてみました。 メインページのテンプレートにある <mt:Pages tag="@home" lastn="1"><h1 id="page-title" class="asset-name"><mt:PageTitle /></h1><mt:PageBody /></mt:Pages> というタグがナビゲーションの項目を追加するタグだと思うのですが 自分のサイトは、上のメニューが4つで構成されているのですが、 メニューを増やすとなると lastn="1"→この数字を増やしてもダメでした。 @homeをウェブページのタグにつけてアップしてみたのですが ただHomeが変わるだけでした。 本で調べたのですが、まだまだ不慣れなMTタグなので こちらで質問させて頂きました。 よろしくお願い致します。

  • Movable typeでの条件分岐がわからない

    Movable typeを使用しています。 条件分岐をしようとしたのですが うまくいきません。 初心者のため、皆様からのご教示をお願いいたします。 やりたいこと 現在表示されているURLの場合、特定の箇所の<a>タグをはずしたい。 <MTSetVarTemplate name="url"> <$MTPagePermalink$> </MTSetVarTemplate> でパーマリンクを変数にし、 <MTIf name="url" eq="<$MTPagePermalink$>"> ここの<eq=>が問題とはわかるのですが、 うまくいきません。 どうすればよいでしょうか?

  • Mobable typeのカテゴリー表示数を制限したいのですが・・・。

    Mobable typeでブログを書いているのですが、カテゴリー数があまりにも多くなり見た目が悪いので表示されるカテゴリー数を制限したいと考えております。 例えば、最新10個のカテゴリーだけ表示させる!見たいな事は可能でしょうか?中身の記事に関しては、lastn="10"の様な表記で制限がかけれるのですが、カテゴリーのタグに使っても効果がありません。 何か良い方法をご存知の方おられましたら、宜しくお願いいたします。 ちなみにMovable typeは3.17で、実行したいタグ部分は以下のようになっています。 <MTSubCategories> <MTSubCatIsFirst><ul></MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> <MTElse> <li><MTCategoryLabel> </MTElse> </MTIfNonZero> <MTSubCatsRecurse max_depth="3"> </li> <MTSubCatIsLast></ul></MTSubCatIsLast> </MTSubCategories>

  • サブカテゴリーの固定表示について

    サブカテゴリーの表示方法についてお教えください。 現在、トップページのヘッダにトップレベルカテゴリを表示させ、トップレベルカテゴリをクリックすると、右側のメニューにサブカテゴリが表示されるようにしようとしています。サブカテゴリの構造は下記のようになっています。 ○お問い合わせ ・プライバシーポリシー ・このサイトについて ○会社概要 ・アクセスマップ ・採用情報 ・採用フォーム 下記サイトのように表示させたいのですが、どうしてもトップレベルカテゴリのリンクが表示されてしまいます。サブカテゴリのみ常時表示させておく方法をお教えください。 http://www.eblo.co.jp/company/about/index.html サブカテゴリ表示は、下記のように記述しています。 <MTHasNoSubCategories> <div class="<$MTCategoryBasename$>"> <h3><MTParentCategory><MTCategoryLabel></MTParentCategory>カテゴリリスト</h3> <div class="sub-menu"> <MTSubCategories> <MTSubCatIsFirst><ul></MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li class="<$MTCategoryBasename$>"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryDescription></a> <MTElse> <li class="<$MTCategoryBasename$>"><MTCategoryLabel> </MTElse></MTIfNonZero><MTSubCatsRecurse></li> <MTSubCatIsLast></ul></MTSubCatIsLast> </MTSubCategories> </div> </div> </MTHasNoSubCategories> <MTHasSubCategories> <h3><$MTCategoryLabel$>サブカテゴリリスト</h3> <div class="sub-menu"> <MTSubCategories> <MTSubCatIsFirst><ul class="subcat-list"></MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li class="subcat-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryDescription$></a> <MTElse><li class="subcat-list-item"><$MTCategoryDescription$> </MTElse> </MTIfNonZero> <MTSubCatsRecurse></li> <MTSubCatIsLast></ul></MTSubCatIsLast> </MTSubCategories> </div> </MTHasSubCategories> 下記サイトを参考に作成しました。 http://weblibrary.s224.xrea.com/weblog/mt/custom/cssmtmthasnosubcategories.html どうぞ宜しくお願いいたします。

  • Movable Type4での、カテゴリーがリンク出来ません。

    Movable Type4にて、ブログを書いたのですが、 サイドのカテゴリーが、リンク出来ません。 アーカイブインデックスの記述は▽ <MTIfArchiveTypeEnabled archive_type="Category"><div class="archive-category archive"> <h2 class="archive-header">カテゴリ</h2> <div class="archive-content"> <MTTopLevelCategories> <MTSubCatIsFirst> <ul class="archive-list"> </MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li class="archive-list-item"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> <MTElse> <li class="archive-list-item"><$MTCategoryLabel$> </MTIfNonZero> <MTSubCatsRecurse> </li> <MTSubCatIsLast> </ul> </MTSubCatIsLast> </MTTopLevelCategories> </div></div></MTIfArchiveTypeEnabled> 手持ちの本と照らし合わせても 特に問題ないようなのですが、カテゴリーには 名前だけでリンクが出来ません。 <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel$></a> この部分がリンクを示すタグだと思うのですが、 ここの記述を書き換える必要があるのでしょうか? よろしくお願い致します。

  • カテゴリーナビゲーション内に個別エントリーを表示させる方法

    今週↓のようなかたちでカテゴリ毎にデザインを変える方法を教えて頂きました。 http://oshiete1.goo.ne.jp/qa2668385.html そして現在、何もいじらないままのMovabletype3.3のデフォルト状態で カテゴリナビゲーションを表示させています。 <div class="module-content"> <MTTopLevelCategories> <MTSubCatIsFirst><ul class="module-list"></MTSubCatIsFirst> <MTIfNonZero tag="MTCategoryCount"> <li class="module-list-item"> <a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a> <MTElse> <li class="module-list-item"><MTCategoryLabel> </MTElse> </MTIfNonZero> <MTSubCatsRecurse> </li> <MTSubCatIsLast> </ul> </MTSubCatIsLast> </MTTopLevelCategories> </div> そして現在↓のようになっております。 ●カテゴリーBIG   ○カテゴリーA     ・カテゴリーAs         --個別1へのリンクを追記させたい         --個別2へのリンクを追記させたい          以下どんどん追加   ○カテゴリーK     ・カテゴリーKs         --個別3へのリンクを追記させたい          以下どんどん追加 このカテゴリーAsとKs以下に、 個別エントリーのリンクをどんどん増やしていきたいと思っています。 その際に<MTSubCatIsFirst>内に カテゴリごとに振り分け、個別エントリーを 記載するにはどのように記述したらよいのでしょうか。 宜しくお願い致します。

専門家に質問してみよう