MovableTypeは大量のエントリを扱うことを想定して作られていないのか、アーカイブページはすべての該当エントリが一気に表示されます。月別アーカイブなら多くても50程度だろうと思いますが、カテゴリーアーカイブはいくらでも大きくなる訳で、流石に何か対策をしなくちゃならないなと・・・。

ページ分割が出来るというのは他の改造をやっているときに記事を横目で見ていたものの、簡単にはできないのだろうと敬遠していたのですが、実際にやってみると案外簡単でした。

以下のサイトを参考にさせていただきました。

こんな感じで作業を進めました。

  1. MTPaginateを落としてきてpluginディレクトリに入れる
  2. 分割したいアーカイブページにMTPaginateのタグを仕込む
  3. MTの[設定]-[公開]のアーカイブ・マッピングを適宜書き換える
  4. マッピングが変更となった場合には.htaccessファイルを作成し、自動転送するようにしておく
  5. 拡張子が.htmlでもPHPスクリプトとして動作するように.htaccessに記述を加える

MovableTypeの初期設定の際、アーカイブディレクトリを直下に指定してしまっていて、直下にたくさんのディレクトリが生成されてぐちゃぐちゃになっていたのでそれも修正しました。
また、もともとentry_basenameを使って指定していたエントリーアーカイブファイル名称を投稿時刻だけを用いる様に変更しました。

  • エントリー・アーカイブ
    <$MTArchiveDate format=”%Y/%m/%d-%H%M”$>.html
  • 月別アーカイブ
    %y/%m/index.html
  • カテゴリー・アーカイブ
    cat_<$MTCategoryID$>.html

.htaccessに追加する記述をインデックステンプレートで生成するための記述も一応。

Redirect permanent <$MTBlogRelativeURL$><$MTEntryDate format="%Y/%m/"$><$MTEntryBasename$>.html <$MTBlogArchiveURL$><$MTEntryDate format="%Y/%m/%d-%H%M"$>.html

拡張子.htmlでPHPを動作させる理由ですが、拡張子phpのファイルを検索エンジンが拾いにくいという問題点からです。この点が気になってphp化させない人は多いようですが、この裏テクを使っている人はあまりいないようです。
まあ・・・自宅鯖なら好き放題出来ますのでこういうところは楽ですね。

とりあえずカテゴリーアーカイブと月別アーカイブをページ分割させてみました。
拡張子.htmlにget変数がくっつく様をどうぞご堪能くださいw

関連する記事:

  1. MovableType4.21にバージョンアップ

関連記事はYARPP関連記事プラグインによって表示されています。

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2012 流れ星雑記 自由テキスト Suffusion theme by Sayontan Sinha