Movable Type プラグインディレクトリ

MTPaginate

エントリー数の多いアーカイブページにおいて、自動的にページ分けを行い、ナビゲーションリンクを表示します。本文のサイズが大きなエントリーにおいて、自動的にページ分けを行い、ナビゲーションリンクを表示します。エントリーや本文に限らず、カテゴリーや追記など任意のデータに適用できます。

制作者: Brandon Fuller / ドネーション(詳細は利用規約を参照)
ダウンロードサイト: MT Extensions : MTPaginate 1.26
http://www.nonplus.net/software/mt/MTPaginate.htm

インストール方法

  1. ダウンロードしたアーカイブを解凍します。
  2. 解凍して生成された[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へのアップグレード失敗、という記事を書きましたが、その原因はダイナミックパブリッシングでした。 ...


このページのトップへ