MTのメインページをページングする

Date:
2008-08-28
Category:
03_WEB

MTはデフォルトでは記事のページングを実装していない。ページング機能はPaged Archives Pluginを導入すれば実装が可能だけど、対象はアーカイブテンプレートで、メインページなどのインデックステンプレートには効果がないようだった。

しかし、アメブロなどの無料ブログでは、メインページにページングを実装しているものも多く見かける。MTを使ったオリジナルのブログを制作する仕事があったときなどにも、要件にメインページのページングが含まれることがあるだろう。実際今回そういう仕事に出くわしたのだ。

Paged Archives Pluginを使ってどうにかこの要件が果たせないか。考慮した挙句、打開策を見つけたのでメモしておく。要はアーカイブテンプレートでメインページを生成できればよいのだ。手順は以下。

  1. 「アーカイブテンプレート」にて「ブログ記事リスト」を新規作成。
  2. 「ブログ記事リスト」のコードにメインページと同じものを記載する。
  3. 「新しいアーカイブマッピングを作成」し、種類は「ユーザー別」を選択する。
  4. パスは「index.html(メインページと同じもの)」と記載する。
  5. インデックステンプレートのメインページを削除する。
  6. Paged Archives Pluginの必要なタグをテンプレのソース内に記載し、再構築する。

以上で、無事メインページにページング機能を実装できた。

ただし手順からもわかるとおり、ユーザー別アーカイブをメインページの代替として使っているだけなので、あくまでユーザーが一人で運営しているブログでの打開策に過ぎない。二人以上の場合はきちんと記事が生成されるかどうかは不明、試していない。

Comment

Name
Mail
URL
Text

私もインデックステンプレートでPaged Archives を使ってみました。
ただし、当方では、index.htmlの方は新着ニュース一覧としており、これとは別に作成したメインインデックスのページ、(たとえばentries_all.html)などというメインインデックスページの方を分割したのです。
当然entries_all.html→entries_all.html、entries_all2.html、entries_all3.htmlなどと分割され、インデックステンプレートでも使える!と思ったのですが、困ったことに、分割後のページ選択ナビゲーションで、「現在のページ」が2ページ目の時、「前のページ」(つまり1ページ目)のリンク先がindex.html(つまり「新着ニュース一覧」)になってしまい、分割後の「entries_all.html」になりません。

どのように対処したらよろしいでしょうか?

コメントありがとうございます。
僕の場合はもとよりインデックステンプレートでプラグインが使用できなかったので分割したファイル名がentries_allからindexになる理由はわかりませんが、メインページが別にあるのでしたら、entries_allを無理にインデックステンプレートとして作成せず、プラグインの従来の使い方どおりアーカイブテンプレートとして作成されればよいのではないでしょうか?

Trackback

http://tplh.net/cgi-bin/mt/mt-tb.cgi/767