Movable Typeでブログを構築する際、カテゴリ別の記事一覧ページのサイドバーで新着記事一覧を出そうとして少し詰まったのでメモ。
サンプルコード
最初にうまくいかなかった例です。
サイドバーはブログ内の全ページで表示するので、テンプレートモジュールでサイドバーを作成します。
記事サイドバー
<div class="sidebar"> <ul> <mt:Entries lastn="3"> <li><a href="<$mt:EntryLink$>"><$mt:EntryTitle$></a></li> </mt:Entries> </ul> </div>
今回は全記事一覧ページとカテゴリ別記事一覧ページを作成する想定だったので、インデックステンプレートで全記事一覧ページ、アーカイブテンプレートでカテゴリ別記事一覧ページを作成して、テンプレートモジュールで作成した記事サイドバーを読み込みます。
全コードは省略しますが、サイドバーを表示する部分に以下の記述でサイドバーを読み込みます。
<$MTInclude module="記事サイドバー">
これで全記事一覧ページのサイドバーは問題なかったのですが、カテゴリ別記事一覧ページではカテゴリが絞り込まれた状態で表示されました。
アーカイブテンプレート内でMtEntriesを使用すると、アーカイブテンプレートの種類によって対象が変わるようです。(今回の場合はカテゴリ)
MtArchiveListを使って、typeにIndividualを指定するとカテゴリ別記事一覧でも意図した表示になりました。
記事サイドバー
<div class="sidebar"> <ul> <mt:ArchiveList type="Individual" lastn="3"> <li><a href="<mt:ArchiveLink>"><mt:ArchiveTitle></a></li> </mt:ArchiveList> </ul> </div>
【参考サイト】
- MTEntries – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
- MTArchiveList – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
コメントが承認されるまで時間がかかります。