アーカイブリストの分割

いずれ訪れるであろうアーカイブファイルの肥大化。うちの場合は、カテゴリーアーカイブも月別アーカイブも共に記事本文は表示せず、記事タイトルと実記事へのアンカーだけにしているので、少々増えてもまだ Index のほうが縦が長い状態。なので月別アーカイブは分割の必要がなくて、カテゴリーアーカイブのみ記事数が100件になったころに対応すればよい。まあ1年後くらいか。

しかし早めに分割しておくべきファイルがある。記事一覧として使っている Archives.html だ。なんせ全記事の一覧なのだから、リストとはいえすぐにいっぱいいっぱいになる。ということで、作業。一回やっておけば後日またカテゴリーアーカイブで同じ手順と記述なので使い回せる。以下、覚書。

  1. アーカイブ分割プラグイン MTPaginate plugin を plugin ディレクトリにアップロードする。
  2. 分割したいアーカイブファイルの拡張子を .php にする。
  3. 該当アーカイブのテンプレートの記述。
<MTPaginate>

 <MTPaginateIfMultiplePages>
  <p class="archivelist-utility">
  降順20件表示 : <$MTPaginateNavigator format_all="全リスト" place_all="after" separator=" | ">
  </p>
 </MTPaginateIfMultiplePages>

 <ul class="archives">
 <MTPaginateContent max_sections="20">
 <MTEntries sort_order="descend">
  <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a><span class="archives-date">(<$MTEntryDate format="%x"$>)</span></li>
 <$MTPaginateSectionBreak$>
 </MTEntries>
 </MTPaginateContent>
 </ul>

 <MTPaginateIfMultiplePages>
  <p class="archivelist-utility">
  降順20件表示 : <$MTPaginateNavigator format_all="全リスト" place_all="after" separator=" | ">
  </p>
 </MTPaginateIfMultiplePages>

</MTPaginate>

このプラグインの難点は、分割後のナビゲーション部(用例では上下に配置)のフォーマットが変更できないこと。仕方ないので p 要素でマークアップしている。php ファイルでの xml 宣言はkankichi@blog:SAKURA edition: MT/カテゴリーのページ分割~php化~を参考に。

コメント

コメント投稿

コメント投稿フォーム