トップページへ
Under Updating Everyday
ボルダリング 日記 お絵かき 更新履歴 その他 メール
 Translate to English by google

« 咲運動会 | メイン | 「ボルダリング」でググってみたら・・・ »

2006年09月26日

indexページの分割:MTPaginate    (コンピュータの話など) Bookmark and Share

MovableTypeのはなし。

トップページって最新から7日間のエントリを表示するようにしていたんだけど、過去のエントリみるには右側の「最新のエントリ」からクリックするしかなかった。カレンダ表示消しちゃったから。
最新のエントリは最新20件にしてるからそれより前のエントリは「全てを表示」して探すしかありませんでした。検索も表示してないしね。
これだと昔のエントリが見難いだろうと思い、簡単に前のエントリを見れるように工夫したいところ。

お気に入りサイトのengadget japaneseがindexページの一番したに"Next page >"ってやってるじゃん。あれを真似したいなー

ってことでいろいろと検索したところ、MTPaginateというプラグインが定番らしい。
つうわけで早速導入。

表示は「もっと古いエントリ」と「もっと新しいエントリ」にしました。わかりやすいでしょ。
よくあるNext pageとか前の記事とかさー、いつもどっちが古い記事なのかわからないんだよね??新しいのが次??でも新しいのから表示しているページは古いほうが次のページだよね??

indexテンプレートの詳細は「続きを読む」で。。

<MTEntries>

<MTEntries all="1">
に変更。これで全てのエントリを表示することに。

そして<MTEntries all="1">の前に
<MTPaginate>
<MTPaginateContent max_sections="5">
を追加。max_sections="5"が1頁あたりの表示エントリ件数。

<MTEntries all="1">の直後に
<$MTPaginateSectionBreak$>
を追加。これがページ分割位置の指定。

</MTEntries>の直後に以下を追加。

</MTPaginateContent>
<MTPaginateIfMultiplePages>
<div class="navi_Paginate">
<MTPaginateIfNextPage_>
<a href="<$MTPaginateNextPageLink$>">&lt;&lt;&nbsp;もっと古いエントリ</a>
</MTPaginateIfNextPage_>
&nbsp;&nbsp;
<MTPaginateIfPreviousPage_>
<a href="<$MTPaginatePreviousPageLink$>">もっと新しいエントリ&nbsp;&gt;&gt;</a>
</MTPaginateIfPreviousPage_>

</div>
</MTPaginateIfMultiplePages>
</MTPaginate>

以上

各タグの簡単な説明
<MTPaginateIfMultiplePages> ~ </MTPaginateIfMultiplePages>
ページが分割されていたときに有効になるブロック

<MTPaginateIfNextPage_> ~ </MTPaginateIfNextPage_>
次のページがあるときに有効になるブロック

<MTPaginateIfPreviousPage_> ~ </MTPaginateIfPreviousPage_>
前のページがあるときに有効になるブロック

<$MTPaginateNextPageLink$>
次のページのURL

<$MTPaginatePreviousPageLink$>
前のページのURL

その他|1|2|・・・とか表示するタグもあります。
詳細はMTPaginateのページ参照
またはソースは簡単なperlだからソース見るのが早いかも。


きっこの「練習日記2」はこちら

投稿者 nama : 2006年09月26日 10:59

コメント


若干変更しましたー

投稿者 なま : 2006年09月26日 12:00

コメントしてください




(書式を変更するような一部のHTMLタグを使うことができます)