takaraism

カテゴリアーカイブで階層情報を取得したい

0

MT6でサイトを構築しています。その中で

カテA - サブカテA-1 - サブカテA-1-1
          - サブカテA-1-2
          - サブカテA-1-3
   - サブカテA-2
カテB - サブカテB-1
   - サブカテB-2
カテC - サブカテC-1
   - サブカテC-2

というようなカテゴリ構造を作っています。
現時点では、カテAのみ孫カテがあり、BとCはサブカテのみという状態という事になります。

上記のような構成の中で、
カテゴリー第一階層にいる状態で、
孫カテがある場合はそのカテゴリのサブカテリストを、
サブカテのみの場合はそのカテゴリーのエントリーリストを出したいと思っています。

つまり、カテAにいる時は、サブカテA-1とサブカテA-2のリンクがあり、サブカテA-1をクリックしたら、サブカテA-1のエントリーリストを出す。
一方、カテBにいる時は、カテBのエントリーリストを出す、という感じです。

第一階層のカテゴリーにいる状態で、そのカテに孫カテがあるか否か、の取得で苦労しています。

「階層数が3つ以上あったら」という分岐が出来ないかと思い、

<$mt:SetVar name="cat_level" value="0"$>
<mt:ParentCategories><$mt:SetVar name="cat_level" op="++"$></mt:ParentCategories>
<$mt:GetVar name="cat_level"$>

としてみましたが、その階層までの数字しか取れず。

そのカテゴリだけの孫までのカテゴリーリストを作れたら、ULの回数で判定して「2回以上ULが回ったら孫がある」と判定して、そこから分岐を掛ける・・・と回りくどいことも考えたのですが、そもそもカテAに居ながらカテAの孫までのリストを作る、という事が難しく難儀しています。

今いるカテゴリーから孫カテがある、という情報を取得するにはどのようにしたらよろしいでしょうか。お知恵をお借りできれば幸いです。何とぞよろしくお願いいたします。

返信(2)

| 返信する
  • MTSubCategories を使って取り出してみたらできないでしょうか?
    MTSubCategories - テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
    https://www.movabletype.jp/documentation/appendices/tags/subcategories.html

  • >まーしーさん

    ヒントありがとうございます。
    頂いたヒントを元に、op=++をつけてみて

    <$mt:SetVar name="folder_level" value="0"$>
    <mt:SubCategories include_current="1">
    <mt:SubCatIsFirst>
    <$mt:SetVar name="folder_level" op="++"$>
    </mt:SubCatIsFirst>
    <mt:SubCatsRecurse />
    <mt:SubCatIsLast>
    </mt:SubCatIsLast>
    </mt:SubCategories>


    これで、階層の数字が取れましたので、うまくいけました。
    ありがとうございました。

返信する


カテゴリグループ

106 23

最新のトピック: test (2019年5月29日 sato)

フォーラムカテゴリー

21 76

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

348 953

最新のトピック: ユーザ情報 (2020年2月 3日 elchi)

283 822

最新のトピック: TinyMceにsup,supを追加したい (2019年12月17日 do1117)

401 1101

最新のトピック: コンテンツタイプの関連記事の表示 (2020年1月15日 plusccc)

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