Movable Typeで記事一覧を表示する際、全記事を表示する方法をメモ。
サンプルコード
記事の表示件数を指定する場合、limitかlastnを使って指定しますが、指定がない場合は「設定 > 投稿 > 公開の既定値 > 表示される記事数」で設定されている数だけ表示されます。
全記事を表示したい場合、MTBlogEntryCountで総記事数を取得できるので、その値をlimitかlastnに指定することで表示できます。
<mt:SetVarBlock name="total"><mt:BlogEntryCount></mt:SetVarBlock> <mt:Entries lastn="$total"> <h3><mt:EntryTitle></h3> </mt:Entries>
ウェブページも同様で、MTBlogPageCountで総ウェブページ数を取得できます。
<mt:SetVarBlock name="total"><mt:BlogPageCount></mt:SetVarBlock> <mt:Pages lastn="$total"> <h3><mt:PageTitle></h3> </mt:Pages>
コンテンツタイプ の場合、MTContentsのlimitの項目を見ると「初期値は 10 です。」と記載があります。
ただMTのバージョンによって違うようで、ベータ 2 リリースノートのMTContentsのlimitの項目では「取得する件数を指定します。指定されない場合、全件出力します。」と記載があり、r.4501(ベータ)リリースノートでは「MTContents タグにおいて、limit モディファイアーに auto を指定するか、何も指定がないとき、サイト設定の記事の読み込み数設定が利用されていましたが、これを廃止しました。指定がない場合は 10 が初期値となり、auto は無効です。」となっています。
そのため、r.4211までは指定がない場合は全件表示、r.4501以降は指定がない場合は10件表示となるようです。
コンテンツタイプ の場合も、MTContentsCountで特定のコンテンツタイプ の全データ数を取得できるので、以下のように指定できます。
<mt:Contents content_type="コンテンツタイプ 名"> <mt:SetVarBlock name="total"><mt:ContentsCount></mt:SetVarBlock> </mt:Contents> <mt:Contents content_type="コンテンツタイプ 名" limit="$total"> <h3><mt:ContentLabel></h3> </mt:Contents>
1〜3行目で全データ数を取得、4行目のlimitで件数を指定しています。
【参考サイト】
- WingMemo:
で全件出力する方法 MT4版 - MTBlogEntryCount – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
- MTBlogPageCount – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
- MTContentsCount – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
- MTContents – テンプレートタグリファレンス | CMSプラットフォーム Movable Type ドキュメントサイト
- Movable Type 7 ベータ 2 リリースノート – Movable Type リリースノート | CMSプラットフォーム Movable Type ドキュメントサイト
- Movable Type 7 r.4501(ベータ)リリースノート – Movable Type リリースノート | CMSプラットフォーム Movable Type ドキュメントサイト
コメントが承認されるまで時間がかかります。