カテゴリアーカイブと月別アーカイブはさくっとできたのですが、個別アーカイブをPHP化するのには、かなーりてこずりました。もう駄目かと思ったよー。orz
さてさて、その手順をメモメモ。


カテゴリアーカイブと月別アーカイブのPHP化及びページ分割は、例によって 小粋空間 さんの ●カテゴリーアーカイブと月別アーカイブのページ分割 を参照しました。
ありがとうございました。^^

  1. ページ分割を行うためのプラグイン:MTPaginate 1.24を MT Extensions よりDL。(ページの上の方のDownloadより)
  2. 解凍してできた MTPaginate.pl を MT のプラグインフォルダへアップロード。
  3. MTの管理者画面から、アーカイブの設定を変更。

    『ウエェブログの設定』⇒『アーカイブの設定』を開き、 Date-Based Archive のアーカイブ・ファイルのテンプレートの部分に <$MTArchiveDate format="%Y_%m"$>.php Category Archive アーカイブ・ファイルのテンプレートの部分に cat_<$MTArchiveCategory dirify="1"$>.php を設定し保存。

ここまでできたらほぼOKで、後は下記のようにページ番号の設定を各テンプレートに行い完了。(青字部分を追加)

<div class="blog">
<MTPaginate>
<MTPaginateContent max_sections="8">

<MTEntries>
     :
     :
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
<div align="center" class="paginate">
<MTPaginateIfMultiplePages>
<$MTPaginateNavigator style="links" format_all="All pages" place_all="after" separator=" | ">
</MTPaginateIfMultiplePages>
</div>
</MTPaginate>

</div>


上記で、スタイル設定のための”paginate”というクラスが付与されているので、下のようにスタイルシートに追加して見映えを整えます。

.paginate {
  font-family: Verdana, Arial, sans-serif;
  color:#666666;
  font-size:9px;
}


さあ、ここまでは何なくできましたね、みなさん。(笑)

続いて、個別アーカイブもPHP化しちゃいます。


個別アーカイブのPHP化で一番大きな問題は、個別エントリーのURLが変わってしまうということ。

つまり、トラックバックを受けたエントリーのURLが変わるので、そいつをクリックしてページへ飛んできた人に404エラーを見せてしまうということなんすよねー。それだけじゃなくて、検索エンジンに拾われたURLも同じ状態になってしまう。。。


まぁ、カテゴリアーカイブや月別アーカイブに関しても同じことなんですけど、こっちはまだ実害が少ないので良しなんですがね。(笑)


で、そいつを回避する方法として、htaccessファイルを使用する方法があります。
つまり、無理やりリダイレクトさせてしまうと言うことですね。
以下、そのやり方も含めて個別アーカイブのPHP化メモメモ。


CROSSBREED さんの MTのPHP化とページ分割 というエントリーと、pebbleinsky’s blog さんの PHP化+MovableType3.0へアップデート。 というエントリーを参照させていただきました。
ありがとうございました。m(__)m

  1. MT管理画面のテンプレートの編集からMainIndexとMasterArchiveIndexを開き、出力ファイル名をそれぞれIndex.phpとarchives.phpに変更して保存。
  2. 『BLOGの設定』⇒『ウェブログの設定』内のアーカイブファイルの拡張子をPHPにして保存。
  3. 『BLOGの設定』⇒『アーカイブの設定』内のIndividualの欄に<$MTArchiveDate format="%Y/%m/%d_%H%M"$>.phpと入力して保存。

    ※注意※
    絶対にここで再構築を行わないでください。ここで再構築を行ってしまうと、リダイレクト設定のための元のファイル名が変わってしまいます。

続いてhtaccessファイルを作成します。

  1. MTの管理画面より『テンプレート』⇒『新しいインデックス・テンプレ・・・』をクリックし、以下のようなテンプレートを作ります。
     
    ・テンプレートの名前

    htaccess(任意の名前でもOK)

     
    ・出力ファイル名
     

    htaccess.php

     
    ・テンプレートの中身(青字部分はそれぞれの環境によって変わってきます。)
     

    <MTArchiveList archive_type="Individual">
    Redirect permanent /blog/archives/<$MTArchiveDate format="%Y/%m"$>/<MTEntries><$MTEntryPermalink$></MTEntries> <$MTBlogURL$>archives/<$MTArchiveDate format="%Y/%m/%d_%H%M"$><MTEntries><$MTEntryKeywords dirify="1"$>.php</MTEntries>
    </MTArchiveList>

     
    オリジナルでは、<$MTEntryPermalink$><$MTEntryID pad="1"$>.htmlとなってり、最初、こいつをそのまんま使ったのですが、全然うまくいきませんでした。なので、無理やり<$MTEntryPermalink$>タグを使って、ダイレクトにURLを生成させ、エディタで若干の修正を行うようにしました。

  2. ここで全てを再構築します。

index.phpを見ることが出来たら、アーカイブのPHP化は完了です。

後は、MTのディレクトリに生成された htaccess.php ファイルを適当なエディタで開いて中身を確認。
私が上記で作成したテンプレートの内容だと、パーマリンクから生成しているので余計なURLの文字列が入ってしまうので、こいつを削除して修正を行いました。
もっとうまいやり方があるんでしょうけど、何分にもスキルが無いのでなるたけオリジナルを変更しませんでした。腕に自身のある方はもっとうまくやれると思います。
私の場合、ここでかなーりつまづきました。(苦笑)


これで、個別エントリーのリダイレクト設定がされたので、後は手書きでカテゴリアーカイブと月別アーカイブのリダイレクト設定を挿入。

こんな感じ。

▽個別エントリーのリダイレクト▽
Redirect permanent /blog/archives/2004/09/a1402sa1402s.html http://www.garaku.cc/blog/archives/2004/09/24_1632.php
 
Redirect permanent /blog/archives/2004/09/_srank.html http://www.garaku.cc/blog/archives/2004/09/24_1020.php
    :
    :
    :
▽カテゴリアーカイブのリダイレクト▽
Redirect permanent /blog/archives/01/index.html http://www.garaku.cc/blog/archives/01.php
 
Redirect permanent /blog/archives/02/index.html http://www.garaku.cc/blog/archives/02.php
 
Redirect permanent /blog/archives/03/index.html http://www.garaku.cc/blog/archives/03.php
    :
    :
    :
▽月別アーカイブのリダイレクト▽
Redirect permanent /blog/archives/2004/01/index.html http://www.garaku.cc/blog/archives/2004_01.php
 
Redirect permanent /blog/archives/2004/02/index.html http://www.garaku.cc/blog/archives/2004_02.php
 
Redirect permanent /blog/archives/2004/03/index.html http://www.garaku.cc/blog/archives/2004_03.php
    :
    :
    :


修正が終わったら、ファイル名を .htaccess へリネームし終了。


以上っす。
何だかわかりにくくてすんません。(汗)