見出しのような語句で検索して来た人がいたっぽいので、アーカイブの分割にちょこっと手を加えただけのモノですが、公開してみようと思います。このままでは動きませんが、Category Archive などの MT のテンプレートとして登録し、リビルドすればたぶんオーケー。
<?php
define("LENGTH", 20); // ペーヂあたりの表示件数
<MTEntries sort_order="ascend">
$entry[] = '<a href="<$MTEntryPermalink$>"><$MTEntryTitle></a>';
</MTEntries>
$offset = preg_replace("#.*[\\/]#", "", $_SERVER[PATH_INFO]);
$offset = preg_match("/^(\d{1,3})$/", $offset, $m) ? $m[1] : 0;
header("Last-modified: " . gmdate("D, d M Y H:i:s", filemtime($_SERVER[SCRIPT_FILENAME])) . " GMT");
header("Content-language: ja");
header("Content-type: text/html; charset=UTF-8");
?>
<? readfile("/****/public_html/mt/inc/Header") ?>
<title><$MTBlogName$>: <$MTArchiveTitle$></title>
</head>
<body id="archives">
<div id="content-header">
<h1><$MTArchiveTitle$></h1>
</div>
<ul class="navigation">
<li class="navi-main"><a href="<$MTBlogURL$>">Main</a></li>
</ul>
<div id="content-main">
<h2>category: <$MTArchiveTitle$></h2>
<div class="article">
<p class="page">page:
<?php
$page = 1;
for ($i = 0; $i < count($entry); $i += LENGTH) {
$hoge = $i;
if ($i == $offset) {
printf("<em title=\"現在のページ\">%02d</em>\n", $page);
}
else {
print "<a href=\"$_SERVER[SCRIPT_NAME]/$i\">";
printf("%02d", $page);
print "</a>\n";
}
$page++;
}
?>
</p>
<ul id="category-list">
<?php
if (empty($offset)) {
$offset = 0;
}
for($i = $offset; $i < $offset + LENGTH; $i++) {
if (isset($entry[$i])) {
echo "<li>$entry[$i]</li>\n";
}
}
?>
</ul>
</div>
</div>
<div id="content-footer">
<ul class="navigation">
<li class="navi-main"><a href="<$MTBlogURL$>">Main</a></li>
</ul>
<? readfile("/****/public_html/mt/inc/address") ?>
</div>
</body>
</html>
readfile() で読み込んでいるのはヘッダとかフッタっぽいファイルです。ファイル内に XML 宣言があると、inlude() とか require() でエラーが出るかもしれないので注意なのです(PHP の設定ファイルの書き換えが必要らしい)。
つーか別のファイルに書き出してアプすれば善かったような。長すぎる。