/ / アーカイプのページ分割
./ / i
| ( ゚Д゚) MT 4.25
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
負荷軽減の為に、カテボリーアーガイブページのページ分割を導入します。
未来の自分に向けてまとめ
参考にしたページ
・買い物ログ: カテゴリ・アーカイブをページ分割しました
・Movable TypeでPHPダイナミックパブリッシングとキャッシュとページ分割を同時に利用する方法::レビログ
・WingMemo: ダイナミック・パブリッシングで頁分割(8) MT4.2公式編
・Movable Type 4.2でキャッシュ付きダイナミックパブリッシングでのページ分割 - kwLog
ひとつ
ブログのテンプレート の中にある ブログ記事リスト のテンプレートを開いて

29行目と、34行目にある
<MTEntries>
を
<MTEntries limit="5" offset="auto">
と変更します。
ふたつ
続けて、40行目くらいにある
<div class="content-nav">
<MTArchivePrevious>
<a href="<$MTArchiveLink$>">« <$MTArchiveTitle$></a>|
</MTArchivePrevious>
<a href="<$MTLink template="main_index"$>">メインページ</a> |
<a href="<$MTLink template="archive_index"$>">アーカイブ</a>
<MTArchiveNext>
| <a href="<$MTArchiveLink$>"><$MTArchiveTitle$> »</a>
</MTArchiveNext>
</div>
こんなのを
<div class="content-nav">
<MTSetVarBlock name="pageno"><$MTCurrentPage$></MTSetVarBlock>
<MTPagerBlock>
<MTIf name"__last__"><MTSetVarBlock name="last"><MTVar name="__value__"></MTSetVarBlock></MTIf>
</MTPagerBlock>
<MTSetVarBlock name="last2"><MTGetVar name="last" value="5" op="-"></MTSetVarBlock>
<MTIf name"pageno" ge="5">
<MTIf name="pageno" le="$last2">
<MTSetVarBlock name="from"><MTVar name="pageno" value="4" op="-"></MTSetVarBlock>
<MTSetVarBlock name="to"><MTVar name="pageno" value="4" op="+"></MTSetVarBlock>
<MTElse>
<MTSetVarBlock name="from"><MTGetVar name="last" value="8" op="-"></MTSetVarBlock>
<MTSetVar name="to" value="$last">
</MTIf>
<MTElse>
<MTSetVar name="from" value="1"><MTSetVar name="to" value="9">
</MTIf>
<MTIfPreviousResults><a href="<MTPreviousLink>" rel="prev">« Previous</a> </MTIfPreviousResults>
<MTPagerBlock>
<MTIf name="to" gt="9">
<MTIf name"__first__"><a href="<MTPagerLink>"><MTVar name="__value__"></a> ... </MTIf>
</MTIf>
<MTIf name="__value__" ge="$from"><MTIf name="__value__" le="$to">
<MTIfCurrentPage><MTVar name="__value__"><MTElse><a href="<MTPagerLink>"><MTVar name="__value__"></a></MTIfCurrentPage>
</MTIf></MTIf>
<MTIf name="to" lt="$last">
<MTIf name"__last__"> ... <a href="<MTPagerLink>"><MTVar name="__value__"></a></MTIf>
</MTIf>
</MTPagerBlock>
<MTIfMoreResults><a href="<MTNextLink>" rel="next"> Next »</a>
</MTIfMoreResults>
</div>
こんなのに置き換えます。
みっつ
キャッシュを行っていない場合はこれで終わりですが、うちはキャッシュしてるので追加作業。
mt/php/mt.php を開いて
531行目あたりの
$cache_id = $blog_id.';'.$fi_path;
を
$cache_id = $blog_id.';'.$fi_path;
if (isset($_REQUEST['limit']) || isset($_REQUEST['offset'])) {
$cache_id .= ":".$_REQUEST['limit'].":".$_REQUEST['offset'];
}
こんなんに変更します。

コメントする