Movable Type プラグインディレクトリ
MTPaginate
エントリー数の多いアーカイブページにおいて、自動的にページ分けを行い、ナビゲーションリンクを表示します。本文のサイズが大きなエントリーにおいて、自動的にページ分けを行い、ナビゲーションリンクを表示します。エントリーや本文に限らず、カテゴリーや追記など任意のデータに適用できます。
インストール方法
- ダウンロードしたアーカイブを解凍します。
- 解凍して生成された[MTPaginate.pl]ファイルを、Movable Typeの[plugins]ディレクトリにアップロードします。
※PHPを利用するため、PHPが動作するサーバでしか利用できません。
使い方
1. エントリー数が多い一覧ページでのページ分割
カテゴリーアーカイブなどでエントリー数が多くなる場合、次のように記述することで自動的にページ分割が行われ、そのナビゲーションリンクが表示されます。テンプレートの出力ファイルは拡張子を「.php」に設定します。
<MTPaginate>
<h1><$MTBlogName$></h1>
<!-- ページ分割により複数ページに及ぶ場合、ナビゲーションリンクを表示する -->
<MTPaginateIfMultiplePages>
<div><$MTPaginateNavigator style="popup"$></div>
</MTPaginateIfMultiplePages>
<!-- 1ページ最大1キロバイトでページ分割を行います -->
<MTPaginateContent max_bytes="1024">
<MTEntries lastn="20">
<p>
<b><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></b>
<$MTEntryExcerpt$>
</p>
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>
</MTPaginate>
- MTPaginate
- ページ分割を行うテンプレートで必ず記述します。
- MTPaginateIfMultiplePages
- ページ分割が発生してコンテンツが複数ページに及ぶ場合にのみ、このテンプレート・タグの内部が表示されます。エントリー数が少なく1ページに収まる場合は表示されません。
- MTPaginateNavigator
- この位置にページナビゲーションを表示します。style="popup"ではプルダウンによるページナビゲーションが表示されます。一方、style="links"を指定した場合、「1 | 2 | 3 | 4」というテキストリンクによるナビゲーションが表示されます。
- MTPaginateContent
- 実際に文字数を計算してページ分割をする部分をMTPaginateContentタグで括ります。この例ではmax_bytes="1024"としているので、1キロバイトつまり半角1024文字(全角512文字)を目安にページ分割します。
- MTPaginateSectionBreak
- ページ分割の分割ポイントになり得る部分にこのタグを記述します。
2. エントリー本文のページ分割
個別アーカイブなどでエントリー本文が長い場合、次のように記述することでページ分割ができます。
<MTPaginate>
<h1><$MTEntryTitle$></h1>
<!-- ページ分割によりコンテンツが複数ページに及ぶ場合、ナビゲーションリンクを表示する -->
<MTPaginateIfMultiplePages>
<div><$MTPaginateNavigator$></div>
</MTPaginateIfMultiplePages>
<!-- 1ページ最大1キロバイトでページ分割を行います -->
<MTPaginateContent max_bytes="1024" section_start_tag="p">
<$MTEntryBody$>
</MTPaginateContent>
<a href="<$MTBlogURL$>">Index</a>
</MTPaginate>
- この例ではMTPageNavigatorにおいてstyleを指定していないため、デフォルトのstyle="links"が適用されます。「1 | 2 | 3 | 4」というテキストリンクによるナビゲーションが表示されます。
- また、MTPaginateContentタグにおいてmax_bytes="1024"としており、エントリーの本文を1キロバイトつまり半角1024文字(全角512文字)を最大値としてページ分割します。
- 同じくMTPaginateContentタグにおいてsection_start_tag="p"としており、<p>タグで始まる部分を基準点にして分割します。
3. MTPaginateで利用可能なタグ
MTPaginateではページ分割のナビゲーションやページ番号表示、条件分岐など様々なタグを利用することができます。 詳細は以下のページをご覧ください。
MT Extensions: MTPaginate 1.26
http://www.nonplus.net/software/mt/MTPaginate.htm
- ページ分割全般に関するタグ
- MTPaginate
- MTPaginateIfSinglePage
- MTPaginateIfMultiplePages
- ページのナビゲーション表示に関するタグ
- MTPaginatePreviousPageLink
- MTPaginateNextPageLink
- MTPaginateAllPagesLink
- MTPaginateNavigator
- ページ番号表示に関するタグ
- MTPaginateNumPages
- MTPaginateCurrentPage
- MTPaginatePreviousPage
- MTPaginateNextPage
- MTPaginateNumSections
- MTPaginateTopSection
- MTPaginateCurrentSection
- MTPaginateBottomSection
- ページ分割の条件により表示・非表示を制御するタグ
- MTPaginateIfFirstPage
- MTPaginateIfLastPage
- MTPaginateIfMiddlePage
- MTPaginateIfPreviousPage
- MTPaginateIfNextPage
- MTPaginateIfAllPages
- MTPaginateIfPageHeader
- MTPaginateIfPageFooter
- MTPaginateElse
- ページ分割の対象に関するタグ
- MTPaginateContent
- MTPaginateSectionBreak
- MTPaginatePageBreak
カスタマイズ情報
特になし
その他付加情報
動作にはPHPが必要です。PHPが動作するサーバでしか利用できません。
トラックバック
- トラックバック URL
- »ブログのページを分割する方法いろいろ from ココログ活用ブログ from 投資信託のブログ|ファンドの海
-
ブログのページを分割する方法は実際のところいろいろあります。今回、自分でページ分
- »ページを分割するプラグイン[MT] from taka0822の日記
-
MTPaginateというプラグインがベスト 使い方 <MTPaginate> <MTPaginateContent max_s...
- »MTPaginateでページ分割♪ from Movable Type Laboratory
-
誰か、気づいてくれたかな?? まぁ、まだまだ平気だろうけど、このブログもエントリ...
- »MTPaginateプラグインでページャー設置 from Shibuya Works | シブヤワークス
-
Six Apart - Movable Type プラグインディレクトリ: MT...
- »[MT] ダイナミックパブリッシングに見切りを付けてやめた from ElectronicBrain is eating BreakFast
-
先日、MovableType 4.26へのアップグレード失敗、という記事を書きましたが、その原因はダイナミックパブリッシングでした。 ...