Movable Type で全エントリーを表示する方法

Movable Type で全エントリーを表示する方法

Posted at December 13,2006 1:50 AM
Tag:[Customize, Entry, MovableType]

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" を設定します。
ただし各アーカイブ共通のタグですので、使用可能な属性は lastnsort_order に限られます。

リスト4 MTArchiveList による表示

<ul>
<MTArchiveList archive_type="individual">
<li><a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
</MTArchiveList>
</ul>

6.再構築のパフォーマンス

当サイトのエントリーで試してみたところ、ほんの僅かながら1?4、つまり MTEntries が早いようです(3秒程度で完了)。ただしタイトルのみ・リンクなしというケースでの実験ですので、実際には大差ないと思います。

関連記事
トラックバックURL


トラックバック

エディットボックスにbr、pタグが入る from kwLog
困っている。正直困っている。 blockquoteだとはみでるので、ソースコードをtextareaで表示するようにしてみたのですが、中身に... [続きを読む]

Tracked on April 21, 2007 10:23 PM

全エントリーの表示 from MTMEMO
エントリーの表示件数を制御するモディファイア「lastn="n"... [続きを読む]

Tracked on January 5, 2010 11:32 AM
コメント

あんまり美しくありませんが
<MTArchiveList><MTEntries>
hogehoge
</MTEntries></MTArchiveList>
って言う手も・・・・
3.2のマニュアルには書かれていた手ですが
3.3のマニュアルからは発見できず・・・
とりあえずうちの3.3ではうまく動いてます。

[1] Posted by Yoshiori : December 13, 2006 8:52 PM

>Yoshioriさん
こんばんは。
情報ありがとうございました!
別途追加しておきたいと思います。

[2] Posted by yujiro : December 13, 2006 9:20 PM

はじめまして。
いつも参考にさせて頂いております。

記事と少しずれた質問で申し訳ないのですが、
MTArchiveList によるエントリーの表示で
特定のカテゴリーのみのリストを表示させたい場合、
何か良い方法はありますでしょうか・・?

属性は、archive_type="Daily"です。
<MTEntries>タグのように
「category="○○"」と指定できれば良いのですが・・。

色々と調べてみましたが、良い解決策が見つかりません。
アドバイス頂けると幸いです。
宜しくお願い致します。

[3] Posted by nattu : January 7, 2007 3:47 PM

>nattuさん
こんばんは。
ご質問の件ですが、MTArchiveList(archive_type="Daily") と MTEntries(category 属性つき) の組み合わせで実現できるのではないでしょうか。
それではよろしくお願い致します。

[4] Posted by yujiro : January 9, 2007 2:20 AM

お忙しい中アドバイス頂きありがとうございました。
おかげ様で問題を解決できました。
私の勘違いしていたところがあったようです・・

このサイトを参考にさせて頂きながら、
これからもっと勉強していきたいと思っております。

[5] Posted by nattu : January 9, 2007 11:17 PM

>nattuさん
こんばんは。
ご連絡ありがとうございました。
解決されたようでよかったです。とりあえず色々お試しになってみてください。
ではでは!

[6] Posted by yujiro : January 10, 2007 12:08 AM

先日はお忙しい中ご返答頂きありがとうございました。

また初歩的な質問で申し訳ありませんが・・・、

貴著を参考に、最新の記事以外をタイトルのみで
表示する・という設定にしてみているのですが、
カテゴリリストから開いた場合も、当たり前ですが1つの記事しか表示されず・・・

うまく言えないのですが、

↓下記のようにするにはどうしたらよいのでしょうか。


1 | 2 | 3 | All pages >

上手く説明できなくてすみません;;

[7] Posted by 彦にゃん : November 26, 2007 2:21 PM

>彦にゃんさん
こんにちは。
ご質問の件ですが、著書の考慮もれでした。申し訳ありません。
カテゴリーアーカイブ等で全てのブログ記事を表示するには、「デザイン」→「テンプレート」→「アーカイブテンプレート」→「ブログ記事リスト」を開き、中ほどにある、

<MTEntries limit="auto">

<MTEntries>

に変更してください。

また、

1 | 2 | 3 | All pages >

を表示する(「ページ分割」と言ってます)方法につきましては、別途エントリー致します。すいませんが少々お時間ください。

[8] Posted by yujiro logo : November 27, 2007 12:43 PM

ご返答ありがとうございます。
変更により、他の記事も表示されるようになりました。

こちらのサイトと貴著を参考にさせていただきながら
色々頑張ってみます。ありがとうございました。

[9] Posted by 彦にゃん : November 27, 2007 7:56 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)