novimam

サブカテゴリー・個別記事においてのカテゴリー一覧表示について

0
思うような表示が出来なくてこちらのフォーラムで似た状況を探してはみたのですが見つけられなかったので質問させていただきたいと思います。

例えば Aカテゴリー(トップカテゴリーの一つ)、Aのサブカテゴリー1、Aカテゴリーに属する個別記事、それぞれのページを表示させたとき、
サイドメニューに

Aカテゴリー
├Aのサブカテゴリー1
├その他のAのサブカテゴリー2
├その他のAのサブカテゴリー3
├その他のAのサブカテゴリー4
└その他のAのサブカテゴリー5

と、表示させたいと思っております。

その際、それ以外のトップカテゴリー及びそれに属するサブカテゴリーは表示させたくありません。

現在下記ソースをウィジェットで作成しましたところ
表示させたくないトップカテゴリー及びそれに属するサブカテゴリーも含め
全てが表示されてしまいます。

<MTIfArchiveTypeEnabled archive_type="Category">
<div>
<p>カテゴリー一覧</p>
<MTTopLevelCategories>
<MTSubCatIsFirst>
<ul></MTSubCatIsFirst><MTIf tag="CategoryCount">
<li><a href="<$MTCategoryArchiveLink$>"<MTIf tag="CategoryDescription"> title="<$MTCategoryDescription remove_html="1" encode_html="1"$>"</MTIf>><$MTCategoryLabel$> (<$MTCategoryCount$>)</a><MTElse>
<li><$MTCategoryLabel$></MTIf><$MTSubCatsRecurse$></li><MTSubCatIsLast>
</ul>
</MTSubCatIsLast>
</MTTopLevelCategories>
</MTIfArchiveTypeEnabled>


ならば、と下記のソースにいたしますと、
トップカテゴリーにリンクした際は、上記のような思ったような表示がされますが
サブカテゴリー及び、個別記事にリンクすると、<ul>~</ul>間は表示されなくなります。

<MTIfArchiveTypeEnabled archive_type="Category">
<div>
<p>カテゴリー一覧</p>
<ul><MTSubCategories><MTIf tag="CategoryCount">
<li><a href="<$MTCategoryArchiveLink$>"<MTIf tag="CategoryDescription"> title="<$MTCategoryDescription remove_html="1" encode_html="1"$>"</MTIf>><$MTCategoryLabel$> (<$MTCategoryCount$>)</a><MTElse>
<li><$MTCategoryLabel$></MTIf></li></MTSubCategories>
</ul>
</div>
</MTIfArchiveTypeEnabled>

何か簡単なミスだったら恐縮ですが是非、ご教示いただけたら幸いです。

返信(3)

| 返信する
  • こんな感じでしょうか。
    内容としてはTopLevelParentのCategoryIDを取得しておいて、TopLevelCategoriesの1週目(HasNoParentCategoryのとき)に同じCategoryIDのものだけサブカテゴリーも表示しています。
    テスト環境がないため試せていませんが、参考になれば幸いです。

    <mt:TopLevelParent><$mt:CategoryID setvar="TopLevelParentCategoryID"$></mt:TopLevelParent>
    <mt:IfArchiveTypeEnabled archive_type="Category">
    <div>
    <p>カテゴリー一覧</p>
    <mt:TopLevelCategories>
    <$mt:SetVar name="flag" value="1"$>
    <mt:HasNoParentCategory><mt:If tag="CategoryID" ne="$TopLevelParentCategoryID"><$mt:SetVar name="flag" value="0"$></mt:If></mt:HasNoParentCategory>
    <mt:If name="flag"><mt:SubCatIsFirst>
    <ul></mt:SubCatIsFirst><mt:If tag="CategoryCount">
    <li><a href="<$mt:CategoryArchiveLink$>"<mt:If tag="CategoryDescription"> title="<$mt:CategoryDescription remove_html="1" encode_html="1"$>"</mt:If>><$mt:CategoryLabel$> (<$mt:CategoryCount$>)</a><mt:Else><li><$mt:CategoryLabel$></mt:If><$mt:SubCatsRecurse$></li><mt:SubCatIsLast>
    </ul>
    </mt:SubCatIsLast></mt:If>
    </mt:TopLevelCategories>
    </mt:IfArchiveTypeEnabled>

  • ご返信ありがとうございます。
    ほぼ表示はさせたいものになりました。
    ですが、HTMLで確認するとソースがうまく吐き出せていませんでした。

    教えて頂いたものをそのまま流用いたしますと

    ■1つ目のトップカテゴリーの該当ページでは

    </li>
    が余分に吐き出されました。
    ↓↓↓↓
    <div>
    <p>カテゴリー一覧</p>
    <ul>
    <li><a href="#">Aカテゴリー</a><ul>
    <li><a href="#">Aのサブカテゴリー1</a></li>
    <li><a href="#">その他のAのサブカテゴリー2</a></li>
    </ul>
    </li>
    </div>


    ■2つ目以降のトップカテゴリーの該当ページでは

    <ul>
    が無く、
    </li>
    が余分に吐き出されました。
    ↓↓↓↓
    <div>
    <p>カテゴリー一覧</p>
    <li><a href="#">B</a><ul>
    <li><a href="#">Bのサブカテゴリー1</a></li>
    <li><a href="#">その他のBのサブカテゴリー2</a></li>
    </ul>
    </li>
    </div>

    教えて頂いたソース内の

    <ul>
    </li>
    のタグの位置を色々変えてはみたのですが
    やはりうまくいきませんでした。
    引き続きご確認頂けると助かります。

  • 上記ご回答いただいた後、また改めてお教えいただいた内容を用いて
    並び替えなどして解決できました。
    ありがとうございました。

返信する


カテゴリグループ

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

304 876

最新のトピック: 複数のMTを統合したい (2015年7月17日 kazz)

231 698

最新のトピック: CustomFieldsSearchで空検索 (2015年6月24日 )

154 454

最新のトピック: MT6.1 のフォルダ管理について (2015年4月 7日 yokota)

343 992

最新のトピック: 再構築に時間かかりすぎ? (2015年6月25日 tani)

OpenID対応しています OpenIDについて