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の孫までのリストを作る、という事が難しく難儀しています。
今いるカテゴリーから孫カテがある、という情報を取得するにはどのようにしたらよろしいでしょうか。お知恵をお借りできれば幸いです。何とぞよろしくお願いいたします。
MTSubCategories を使って取り出してみたらできないでしょうか?
MTSubCategories - テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
https://www.movabletype.jp/documentation/appendices/tags/subcategories.html
>まーしーさん
ヒントありがとうございます。
頂いたヒントを元に、op=++をつけてみて
これで、階層の数字が取れましたので、うまくいけました。
ありがとうございました。