MT4 で MTPaginate プラグインを使って各種アーカイブのページ分割をする
Movable Type 5 がリリースされたというのに、相変わらず MT4 ネタで気にせずいきますよ。ええ。
というわけで、各種ブログ記事アーカイブ(月別一覧やカテゴリー別一覧等)のブログ記事数が多くなりすぎて、ひとつのアーカイブが縦長になりすぎてしまう際の解決方法としての、ページ分割です。
MTPaginate というプラグインを使います。
なお、このプラグインを使用する上で、MTから出力される各種ファイルが PHP で動いている必要があります。
なので、「設定」⇒「公開」の「アーカイブオプション」で「ファイルの拡張子」を「php」等にしておくか(下図参照)、あるいは.htaccess で .html 等の拡張子で PHP を実行させる方法やさくらのレンタルサーバーで PHP を .html 等の拡張子で実行させる方法等を参考に、元々設定されている拡張子で PHP が動くようにしておかないといけません。
その上で、以下テンプレート内の MTEntries タグ近辺の部分のサンプルです。
<!-- ページ分割するテンプレート全体のコンテナタグ -->
<MTPaginate>
<!-- 分割されたページのナビゲーション部分 -->
<MTPaginateIfMultiplePages>
<div>
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>"><<前のページへ</a>
</MTPaginateIfLastPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>"><<前のページへ</a>
</MTPaginateIfMiddlePage_>
<$MTPaginateNavigator style="links"$>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginateNextPageLink$>">次のページへ>></a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">次のページへ>></a>
</MTPaginateIfFirstPage_>
</div>
</MTPaginateIfMultiplePages>
<!-- ブログ記事何件で分割するかを指定(例では10件) -->
<MTPaginateContent max_sections="10">
<MTEntries>
<!-- ここにブログ記事を表示する色々なタグなど -->
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
</MTPaginate>
なお、この方法でページ分割しても、ひとつのアーカイブファイル内に格納されるブログ記事数はそのままなので、各ファイルの容量を抑える・一ファイルに対してかかる再構築時の負荷を減らす等の目的での導入は無意味ですので悪しからず。
- 現在位置
- TOP > Web制作技術 > Movable Type 4 > MT4 で MTPaginate プラグインを使って各種アーカイブのページ分割をする
- 前のブログ記事
- MT4 でサイトマップを作る際のテンプレート [2009年11月24日 21:53]
- 次のブログ記事
- MT4 でブログ内検索をカテゴリ毎に行なう方法 [2009年11月29日 20:41]








コメント(0)
コメントする