« 咲運動会 | メイン | 「ボルダリング」でググってみたら・・・ »
2006年09月26日
indexページの分割:MTPaginate (コンピュータの話など) Tweet
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$>"><< もっと古いエントリ</a>
</MTPaginateIfNextPage_>
<MTPaginateIfPreviousPage_>
<a href="<$MTPaginatePreviousPageLink$>">もっと新しいエントリ >></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
コメント
若干変更しましたー