Movable Type で全エントリーを表示する方法
Movable Type のエントリーリストで、全てのエントリーを表示するための Tips です。
基礎知識として、MTEntries タグに属性を何も設定せずに使用すると、管理画面の[設定]-[全般]-[表示に関する初期設定]-[表示数]に依存することになります。したがって全ての公開されたエントリーを表示するには何らかの属性を設定しなければなりません。
先日投稿した「Sitemaps 0.90 用テンプレート」でも少し紹介致しましたが、巷で紹介されているサイトマップ用テンプレートでは全エントリーリスト表示で、
<$MTEntries lastn="9999"$>
という設定を多くみかけます。
これはこれで良いのですが、MTのパワーユーザーとしては、よりスマートな設定方法を紹介したいと思った次第です。
1.lastn
属性による表示
lastn
属性は「最新のエントリーより指定された件数を表示する」場合に用いますが、属性値に "0" を設定することで全エントリーが表示されます。
リスト1 lastn
属性による表示
<ul>
<MTEntries lastn="0">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
2.offset
属性による表示
offset
属性は「最新のエントリーの指定件数を除いて表示する」場合に用います。厳密には lastn
属性と併用して、それぞれの属性で指定された範囲のエントリーを表示します。この offset
属性値に "0" を設定することで全エントリーが表示されます。
リスト3 offset
属性による表示
<ul>
<MTEntries offset="0">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
3.all
属性による表示
MTEntries
タグにこのような属性は存在しません。ただし、このような処理されない属性を設定することで全エントリーが表示されます(とりあえず 3.33 では OK)。all="1"
というのは直感的に分かりやすいと思い、例として挙げてみました。hoge
でも何でもいいです。
リスト3 all
属性による表示
<ul>
<MTEntries all="1">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
4.属性を設定しない方法
先の[設定]-[全般]-[表示に関する初期設定]-[表示数]に "0" を設定します。単位は「エントリー」「日分」のどちらでも大丈夫のようです。ただし表示数を制限すべき箇所には必ず属性を設定してください。
5.MTArchiveList
による表示
上記と主旨が異なりますが、MTArchiveList
タグを用いる手もあります。archive_type 属性には "Individual" を設定します。
ただし各アーカイブ共通のタグですので、使用可能な属性は lastn
と sort_order
に限られます。
リスト4 MTArchiveList
による表示
<ul>
<MTArchiveList archive_type="individual">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
</MTArchiveList>
</ul>
6.再構築のパフォーマンス
当サイトのエントリーで試してみたところ、ほんの僅かながら1?4、つまり MTEntries
が早いようです(3秒程度で完了)。ただしタイトルのみ・リンクなしというケースでの実験ですので、実際には大差ないと思います。
- ブログ記事ページでその記事以外のブログ記事一覧を表示する方法
- MTEntriesタグをテンプレートで複数使う時に記事を重複させない方法
- Movable Type5.2のTinyMCEを5.1のボタンに戻す方法
- Movable Typeで製品情報のテーブルを作る
- Movable Typeのブログ記事ページのファイル名に日別の通番を振る
- 予定日を過ぎたブログ記事を「最近のブログ記事」に表示しない
- mt-csv2customfields v0.03
- 複数ブログのブログ記事を時間順に1件ずつ表示する
- Movable Type のブログ記事にフラグメント識別子(ページ内リンク)を設定する
- 特定のカテゴリーに属するブログ記事一覧を表示する(改)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その2)
- Movable Type 4 でカテゴリー別にブログ記事ページのデザインを切り替える方法(その1)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版・改)
- ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版)
- 概要と本文を切り替える(Movable Type 4・デフォルトテンプレート版)
≫ エディットボックスにbr、pタグが入る from kwLog
困っている。正直困っている。 blockquoteだとはみでるので、ソースコードをtextareaで表示するようにしてみたのですが、中身に... [続きを読む]
あんまり美しくありませんが
<MTArchiveList><MTEntries>
hogehoge
</MTEntries></MTArchiveList>
って言う手も・・・・
3.2のマニュアルには書かれていた手ですが
3.3のマニュアルからは発見できず・・・
とりあえずうちの3.3ではうまく動いてます。
>Yoshioriさん
こんばんは。
情報ありがとうございました!
別途追加しておきたいと思います。
はじめまして。
いつも参考にさせて頂いております。
記事と少しずれた質問で申し訳ないのですが、
MTArchiveList によるエントリーの表示で
特定のカテゴリーのみのリストを表示させたい場合、
何か良い方法はありますでしょうか・・?
属性は、archive_type="Daily"です。
<MTEntries>タグのように
「category="○○"」と指定できれば良いのですが・・。
色々と調べてみましたが、良い解決策が見つかりません。
アドバイス頂けると幸いです。
宜しくお願い致します。
>nattuさん
こんばんは。
ご質問の件ですが、MTArchiveList(archive_type="Daily") と MTEntries(category 属性つき) の組み合わせで実現できるのではないでしょうか。
それではよろしくお願い致します。
お忙しい中アドバイス頂きありがとうございました。
おかげ様で問題を解決できました。
私の勘違いしていたところがあったようです・・
このサイトを参考にさせて頂きながら、
これからもっと勉強していきたいと思っております。
>nattuさん
こんばんは。
ご連絡ありがとうございました。
解決されたようでよかったです。とりあえず色々お試しになってみてください。
ではでは!
先日はお忙しい中ご返答頂きありがとうございました。
また初歩的な質問で申し訳ありませんが・・・、
貴著を参考に、最新の記事以外をタイトルのみで
表示する・という設定にしてみているのですが、
カテゴリリストから開いた場合も、当たり前ですが1つの記事しか表示されず・・・
うまく言えないのですが、
↓下記のようにするにはどうしたらよいのでしょうか。
1 | 2 | 3 | All pages >
上手く説明できなくてすみません;;
>彦にゃんさん
こんにちは。
ご質問の件ですが、著書の考慮もれでした。申し訳ありません。
カテゴリーアーカイブ等で全てのブログ記事を表示するには、「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を開き、中ほどにある、
<MTEntries limit="auto">
を
<MTEntries>
に変更してください。
また、
1 | 2 | 3 | All pages >
を表示する(「ページ分割」と言ってます)方法につきましては、別途エントリー致します。すいませんが少々お時間ください。
ご返答ありがとうございます。
変更により、他の記事も表示されるようになりました。
こちらのサイトと貴著を参考にさせていただきながら
色々頑張ってみます。ありがとうございました。