Movable Type 備忘録
特定の親カテゴリに属するエントリのみ一覧表示
- Prev Page: プライベートタグ一覧表示
- Next Page: 同一カテゴリ内の前・次リンク表示
こんばんわ^^
ちょと私用により長野の方に行ってまして、メルやコメントの返信が遅くなってすいませんでした (; ̄∇ ̄A
気づいたときに携帯からコメントの投稿許可したり、メルの返信はしてたのですが、なかなか時間がとれなくって。
さて、今回は以前ご紹介したカテゴリと最近のエントリ一覧をいっしょに表示の応用をやってみます。
どんかなんじで表示するかというと、以下のような表示のしかたになります。
- Moblog<雑記> [31]
- Analytics<アクセス解析> [2]
- Books<書籍> [8]
- Topic<トピック> [33]
- MovableType<ムーバブルタイプ> [67]
- Customize<カスタマイズ> [235]
- Plugins<プラグイン> [25]
- Konjak プラグイン 2010/02/27
- FeedEx プラグイン修正 2010/02/23
- StyleCatcher カスタマイズ for MT5 2009/12/29
- Tips<小技> [20]
- インデックス・テンプレートの有無をチェック 2010/04/04
- キャッシュを使ってカテゴリ内の最近のエントリ一覧表示 2008/12/07
- 年別アーカイブ一覧 2008/08/14
- Plugins<プラグイン> [25]
- Install<インストール> [17]
- Template<テンプレート> [61]
- Troubleshooting<トラブルシューティング> [33]
- Customize<カスタマイズ> [235]
- Rental Server<レンタルサーバ> [9]
- Tools<ツール> [153]
- JavaScript<スクリプト> [26]
カンタンに説明すると、ブログ記事アーカイブ、またはカテゴリアーカイブにおいて、エントリが属するカテゴリの親カテゴリ、またはカテゴリが属する親カテゴリのみエントリ一覧を表示するといったものです。
たとえば、このエントリが属するカテゴリは「Tips( 小技 )」です。
その親カテゴリは「MovableType( ムーバブルタイプ )」でして、親カテゴリ配下のカテゴリのみエントリ 3 件分を一覧表示させるといったものです。
これはMovable Type フォーラムのトピックでアドバイスした内容です。
カスタマイズ
具体的には以下のようなタグになります。
特定の親カテゴリに属するエントリのみ一覧表示
<$MTArchiveType setvar="arctype"$><mt:If name="arctype" eq="Individual"><MTEntryCategories><MTParentCategory><$MTCategoryLabel decode_html="1" remove_html="1" setvar="catdisp"$></MTParentCategory></MTEntryCategories><mt:ElseIf eq="Category"><MTParentCategory><$MTCategoryLabel decode_html="1" remove_html="1" setvar="catdisp"$></MTParentCategory><mt:Unless name="catdisp"><$MTCategoryLabel decode_html="1" remove_html="1"$></mt:Unless></mt:If><MTTopLevelCategories><MTSubCatIsFirst><ul class="catlist"></MTSubCatIsFirst><MTParentCategory><$MTCategoryLabel decode_html="1" remove_html="1" setvar="parcat"$></MTParentCategory><mt:IfNonZero tag="MTCategoryCount"><li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><$MTCategoryLabel decode_html="1" remove_html="1"$></a> [<$MTCategoryCount$>]<mt:If name="catdisp" eq="$parcat"><MTEntries lastn="3"><MTEntriesHeader><ul class="entlist"></MTEntriesHeader><li><a href="<$MTEntryPermalink$>" title="<$MTEntryExcerpt convert_breaks="1" words="20"$>"><$MTEntryTitle$></a> <$MTEntryDate format="%Y/%m/%d"$></li><MTEntriesFooter></ul></MTEntriesFooter></MTEntries></mt:If><$mt:SetVar name"parcat" value=""$><mt:Else><li><$MTCategoryLabel decode_html="1" remove_html="1"$> [<$MTCategoryCount$>]</mt:IfNonZero><$MTSubCatsRecurse max_depth="5"$></li><MTSubCatIsLast></ul></MTSubCatIsLast></MTTopLevelCategories>
まず、属する親カテゴリ名称を取得します。
赤字の部分で親カテゴリ名称を取得してます。具体的には MTArchiveType ファンクションタグでアーカイブタイプをチェックして、ブログ記事アーカイブとカテゴリアーカイブとで取得の仕方を変更してます。それ以外のアーカイブ、およびインデックスの場合にはエントリは一覧表示されません。
MTTopLevelCategories ブロックタグでカテゴリの一覧表示を行い、順次カテゴリ一覧を表示していきます。
その際、青字の部分で事前に取得した親カテゴリ名称と、カレントのカテゴリが属する親カテゴリ名称を比較して、マッチした場合のみエントリを一覧表示してます。
以上です。
よかったら試してみてください (●>∀<●)/
Trackback Pings(0)
No trackbacks found.
Comments(0)
No comments found.




Post a Comment