2003年6月23日月曜日

長くなり過ぎたページを分割して表示する方法

今後エントリーが増えていって長〜いページをどうするかと悩んでいたら、こんな方法があった。とても感謝。


では、以下、自分がカテゴリーアーカイブをページ分割表示(例)した手順のログです。
まず、これはARTIFACTさんでいわれていることの繰り返しですが、サーバにPHPがインストールされているか確認する必要があります。


-以下、network styly *さんのとこからの引用-


では、以下、自分がカテゴリーアーカイブをページ分割表示(例)した手順のログです。

まず、これはARTIFACTさんでいわれていることの繰り返しですが、サーバにPHPがインストールされているか確認する必要があります。

次に、「BLOGの設定」⇒「Archive の設定」で拡張子をphpに変更します。

→Categoryという列の、「Archive ファイルの Template」というフォームに、

cat_<$MTArchiveCategory dirify="1"$>.php

のように入力すればオーケー。

そしたら、

・MT Extensions: MTPaginate 1.2.2

から、プラグインファイル(MTPaginate.zip)をサイト一番上からダウンロードし、解凍し、MTPaginate.plを (mt home)/plugins ディレクトリにアップロード。

次に、Temlateの設定から、Category Archiveの編集へ。
カスタマイズ法の詳細は、先のMT Extensions: MTPaginate 1.2.2を見ていただくとして、network styly *では、でくくられている部分を、4日分ずつ表示するよう、ページ分割してみました。ページと上と下に、

All Pages | 1 | 2 | 3 | 4

といった感じの、ページリスト・ナビゲータを表示させています。

<div id="container">

<div class="blog">


<MTPaginate>

<MTPaginateIfMultiplePages>
<div><$MTPaginateNavigator format_all="All Pages" placement_all="after"></div>
</MTPaginateIfMultiplePages>

<MTPaginateContent max_sections="4" section_start_tag="h2">

<MTEntries>
(中略・・)
</MTEntries>


</MTPaginateContent>

<MTPaginateIfMultiplePages>
<div>
<a href="<$MTPaginatePreviousPageLink$>">前のページへ</a> / <a href="<$MTPaginateNextPageLink$>">次のページへ</a><br />
<$MTPaginateNavigator format_all="All Pages" placement_all="after">
</div>
</MTPaginateIfMultiplePages>
</MTPaginate>

</div>

</div>



(太字部分は、もともとのソースにある箇所ですので、新たに埋め込む必要はありません。もしコピペする際は、ここを目安に埋め込む場所を探してください。)<br />

そして、そのままですと、dateのh2タグを認識してくれないので、ちょこっと変えます。

<MTDateHeader> <h2 class="date"><$MTEntryDate format="%x"$></h2> </MTDateHeader>

とデフォルトでなっているところを、

<MTDateHeader> <h2><div class="date"><$MTEntryDate format="%x"$></div></h2> </MTDateHeader>

と変えてみました。 レッツ、リビルド

0 件のコメント:

コメントを投稿