MT覚え書き:ページを分割表示
カテゴリーページや、いくつか作ったインデックスページを分割させるためにいろいろ工夫してきたのですが、それをそろそろエントリーにまとめようと思い、昔書いた同じ内容のエントリーを見て驚き!ちょうど去年の今日。
ブログの意味もよくわかってない状況から今日まで、たくさんの方ご指導によりおかげさまで楽しく続けることができました。これからもよろしくお願い致します。。。
と、話が変わってしまいました。
というわけで、繰り返しネタですが、ちょっと発展したので一応。(※要PHP)
「ARTIFACT −人工事実−」さんの”MovableTypeのページ分割/Permalinkの変更 ”と、
「小粋空間」さんの”カテゴリーアーカイブと月別アーカイブのページ分割”と、
「cocoons.org*」さんの”TOPページでもページ分け”を参考にさせていただきました。
プラグインページ配布&解説は、「MT Extensions: MTPaginate」です。(英語)
解凍してできたファイルをMTディレクトリの「plugins」ディレクトリ内にアップ。
まず、アーカイブの設定
「BLOGの設定」⇒「Archive の設定」でCategoryという列の、「Archive ファイルの Template」というフォームに下記を入力。(あ、この頃はまだ英語だったんだ)
日本語では、
「ウェブログの設定」メニューから、ページ右上のメニュー「アーカイブの設定」をクリック。
「アーカイブ」の中の、「カテゴリー別」の「カテゴリー・アーカイブ」の右のフォームに、
を入力。(ウチは頭に付いてる”cat_”を抜いちゃったんですがそれでも大丈夫かなぁ。。。)cat_<$MTArchiveCategory dirify="1"$>.php
次に、タグの修正追加
カテゴリーアーカイブテンプレートの分割させたい部分の一番上、
の上あたりに、<MTEntries>
を追加。<MTPaginate>
<MTPaginateContent max_sections="10">
”10”を変更することで、1ページ内に表示されるエントリーの数を変更できます。
こんな感じ。<MTPaginate>
<MTPaginateContent max_sections="10">
<MTEntries>
次に、エントリー表示部分の終わりにある、
の部分を、</MTEntries>
のように前後に追加。<$MTPaginateSectionBreak>
</MTEntries>
</MTPaginateContent>
次に、分割したページにリンクするページ番号を表示させたい場所に、
を追加。で、ページの下部に、<MTPaginateIfMultiplePages>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfLastPage_>
<$MTPaginateNavigator format_all="All Pages" placement_all="after">
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfMiddlePage_>
</MTPaginateIfMultiplePages>
を追加して完了。</MTPaginate>
例えば、ページ下部に、この分割ページリンクを表示させたい場合は、
</MTEntries>の下に何も無い場合。
こんな感じ。<$MTPaginateSectionBreak>
</MTEntries>
</MTPaginateContent>
<MTPaginateIfMultiplePages>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfLastPage_>
<$MTPaginateNavigator format_all="All Pages" placement_all="after">
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfMiddlePage_>
</MTPaginateIfMultiplePages>
</MTPaginate>
で、ページ上部に表示させたい場合は、
の、<MTPaginate>
<MTPaginateContent max_sections="10">
<MTEntries>
の下に追加して、<MTPaginate>
ってな感じでしょうか?<MTPaginate>
<MTPaginateIfMultiplePages>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfMiddlePage_>
<MTPaginateIfLastPage_>
<a href="<$MTPaginatePreviousPageLink$>">previous <<</a>
</MTPaginateIfLastPage_>
<$MTPaginateNavigator format_all="All Pages" placement_all="after">
<MTPaginateIfFirstPage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfFirstPage_>
<MTPaginateIfMiddlePage_>
<a href="<$MTPaginateNextPageLink$>">>> next</a>
</MTPaginateIfMiddlePage_>
</MTPaginateIfMultiplePages>
<MTPaginateContent max_sections="10">
<MTEntries>
ウチみたいにアイテムや広告を入れてる方は色々調節してみてください。
上下両方に入れたい場合は両方で。
分割後、最初に表示されてるのは、
こんな感じ。(このページ数はエントリーの数によって違います)All Pages | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 >> next
「>> next」をクリックすることで、順番に見ることができます。
2ページ目〜最後のページの1ページ前までは、
のように、「previous << 」が追加されます。previous << All Pages | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 >> next
で、最後のページは、
のように、「>> next」が消えます(当たり前ですが)。previous << All Pages | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
自分で過去のエントリーを見るとき、どうしても全部いっぺんに見たいときがあるので、
「All Pages」を追加しました(じゃ、分割する意味ない?)
ありがとうございました。
ウチでは、釣行記等のページを、カテゴリーで表示(カテゴリーにリンク)させるのではなく、メインページとは別のインデックスページを作ってメニューの1つとして表示させています。
メインページとほぼ同じ内容のインデックスページを新しく作り(ほぼコピペ)、1つのカテゴリーのエントリーだけ表示させているだけです。なので内容的にはカテゴリーページと同じなのですが、メインページやカテゴリーページとは違ったサイドバーアイテムの設置やレイアウトの修正などをしています。(アイテム以外は微妙な修正なのですが)
なので、そのページでも同じように分割させています。
あ、もちろん、複数のカテゴリーを指定してやればもっとカテゴリーページとは違った内容になるかと。。。
複数のカテゴリーを表示、または、あるカテゴリーを非表示って場合は、「CatEntries」(英語)をダウンロードしてプラグインフォルダへアップ。
あるカテゴリーのエントリーだけを表示させたくない場合は、
(” , ”で区切ります。)<MTCatEntries exclude="カテゴリ名1,カテゴリ名2">
〜
</MTCatEntries>
あるカテゴリーのエントリーだけを表示させたい場合は、
と言う感じでしょうか。<MTCatEntries include="カテゴリ名1,カテゴリ名2">
〜
</MTCatEntries>
また、メイン(トップ)ページや他のインデックスページで使う場合、
というように、「lastn="50"」を追加することで、最新から50個まのエントリーを表示というように指定できます。もちろん数字は”50”じゃなくてもOKですが、ページ分割の1ページの表示数とのかねあいもあるのでお好みで。指定しなくてもOKだと思いますが、表示させるカテゴリー(の組み合わせ)によっては何百とかになってしまいそうなので、一応。。。<MTPaginate>
<MTPaginateContent max_sections="10">
<MTEntries lastn="50">
「普通の釣行記」(旧ブログ)
「釣りの記憶」(旧ブログ)
同じ名前のカテゴリーページと比べると差がわかると思います。
じゃあ、カテゴリーリストから、重複してるカテゴリーを無くせば混乱が無くなる?
そんな場合は、
「staggernation.com」(英語)さんの、「FilterCategories」をダウンロードしてプラグインフォルダへアップ。
あるカテゴリーをリストに表示させたくない場合は、
という感じ。(複数の場合は、”|”で区切ります)<MTCategories show_empty="1">
<MTFilterCategories exclude="カテゴリ名1|カテゴリ名2">
〜
</MTFilterCategories>
</MTCategories>
あるカテゴリーをリストに表示させたい場合は、
を、カテゴリーリストに組み込むことで調整できます。<MTCategories show_empty="1">
<MTFilterCategories include="カテゴリ名1|カテゴリ名2">
〜
</MTFilterCategories>
</MTCategories>
とまぁ、ページ分割から始まって、インデックスの追加、カテゴリーリストの表示非表示まで、一度書いた記事をまた書いちゃいました。後で見たときに一回で済むからまぁいいか。。。























![音を大きくする本 - 音圧をあげるための基本からプロレベルまでそのテクニックのすべて [Nowbooks3] (Stylenote Nowbooks (3)) (Stylenote Nowbooks (3))](http://ecx.images-amazon.com/images/I/41J8Ss03j6L._SL160_.jpg)












是非また、いい物や美味しい物を紹介お願いします!お肉あけましておめでとうございます。今年もよろしくお願いしますおめでとうございます。
昨年は本当にエムズパレットのホームページ・Mac(iBook)
の主治医として大変お世話になりました。
今年もやる気だけはあります。が、、最近はemuzuロイヤルホストちょっと聞きたいんですが。恥ずかしながら、これhttp://a-linker.net/mp/t15g0xyやってDT奪ってもらったんですが・・・・・・
ローションを塗りたくられて、足で2回いかされ、さらにベッドで2回(^_^;)
うみぼうずジョイフルホンダ俺の一人暮らしまとめ春から大学生で、小遣い稼ぎの為にバイト探してたけど、中々見つからなくてワロタww
この前ここのコメに書いてたサイトを半信半疑で試してみたら…
人生\(^o^)/ハジマタ日の丸お彼岸すこし俺の話を聞いてくれないか?すこし俺の話を聞いてくれ。
俺、昨日で、32になったんだけれど、先月までコンビニバイトで食いつないでいた。
だが、信じられない物を見つけてしまった。
一月前、無し@毎日が日曜日お彼岸もみじですけど・・あの、あれから連絡途絶えてるようですけど。。
やっぱり私とはダメって事ですか?
http://mobile555.zz.tc/sefure/rade0cgもみじバービーだ!先日、アシストに、エンリケさん来たみたいだね・・・仕事じゃなけりゃ、行きたかった。るちる堂:女将