Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 8 ManualMovable Type 8 マニュアル

PageButeプラグイン

最終更新日: 2024.12.18

プラグインの特徴

PageButeプラグインは、Movable Typeで生成するhtmlをページ分割し静的ページを生成します。

  • 検索テンプレートでは使用することが出来ません。
  • 記事が1件も無い場合には埋め込まれたテンプレートタグはコメントとなり機能しません。最低1件の記事を登録してください。
  • ファイルの生成時に動作するため、MTIf などのタグで数値判別するテクニックは使えません。

プラグインご利用の際の注意事項

  • 著作権はシックス・アパート株式会社が保有しています。
  • 原則として特に指定がない限り、個人・法人を問わず Movable Type でのみ無償でご利用頂けます。
  • 対価を設定して販売したり、サポートを販売したり、商品に組み込んで製品の一部として販売することはできません。ただし特に指定がない限り、制作会社などの代理者が納品物に組み込んで利用することができますが、プラグインに対価を設定することはできません。
  • 公開配布されているプラグインやテンプレートを利用された結果のデータ破損,システム破損などあらゆる損害や不具合はこれを補償いたしません。利用者の責任においてご利用ください。
  • シックス・アパートのテクニカルサポートの対象となります。
    ※ 3.5.9 以前のバージョンはシックス・アパートのサポート対象外です。
  • これらの著作物の二次著作物を再配布することはできません。
  • これらの著作物の著作権表示を改変しないでください。

プラグインのダウンロード

バージョン4.0.0(MT7/MT8)2024/12/18 PageBute.4.0.0.zipをダウンロード

プラグインのインストール

解凍後、「plugins」フォルダが生成されますので、その中のPageButeフォルダごとMovable Typeの「plugins」ディレクトリにアップロードします。

プラグインの利用方法

エントリー数が多い場合、自動的にナビゲーションを追加しページを分割します。

<mt:PageContents>~</mt:PageContents>

区切りたい部分(Entriesなど)を囲むタグです。このタグに囲まれた部分は、countで指定した件数ごとに区切られて表示されます。

count="*"

mt:PageContentsのアトリビュートです。*部分に任意の数字を入れることで、区切る単位を指定します。指定しない場合は、10件で区切られます。

navi_count="11"

mt:PageListsで出力されるページリンク数を変更する為のアトリビュートになります。指定しなかった場合は11が初期値となります。

abs2rel="1"

mt:PageContentsの属性として指定します。PageButeが出力するリンクをすべて相対にします。

<$mt:PageSeparator$>

mt:PageContents内に記述します。分割する位置を指定します。

<$mt:PageLists$>

各ページへのリンクを指定します。

delim="*"

mt:PageListsのアトリビュートです。ページ番号とページ番号の間の区切りの指定が可能です。指定しない場合は &nbsp; が入ります。

link_start="<li>"

各ページへのリンクや現在のページ番号を表示する前に指定された文字列を挿入します。通常はlink_closeと併せて利用します。指定されなかった場合には何の文字も挿入されません。

link_close="</li>"

各ページへのリンクや現在のページ番号を表示する前に指定された文字列を挿入します。通常はlink_startと併せて利用します。指定されなかった場合には何の文字も挿入されません。

show_always="0"

0 を指定すると、分割されたページが 1 つにしかならなかった場合、ページリストの 1 を表示しません。デフォルト設定は従来と同じ動作のため 1 が指定されたものとします。

<mt:IfPageFirst>~</mt:IfPageFirst>

2ページ以降の場合、1ページへ戻るためのリンクが出力されます。

<mt:IfPageBefore>~</mt:IfPageBefore>

前のページが存在する時に、本タグ内に書かれた内容が出力されます。

<mt:IfPageAfter>~</mt:IfPageAfter>

次のページが存在する時に、本タグ内に書かれた内容が出力されます。

<mt:IfPageLast>~</mt:IfPageLast>

2ページ以上ある場合、最後のへ戻るためのリンクが出力されます。

<$mt:PageFirst$>

最初のページへのリンクを出力します。

<$mt:PageBefore$>

前のページへのリンクを出力します。

delim="*"

前のリンクへの表示部分を指定可能です。指定しない場合は << が入ります。

<$mt:PageAfter$>

次のページへのリンクを出力します。

delim="*"

次のリンクへの表示部分を指定可能です。指定しない場合は >> が入ります。

<$mt:PageLast$>

最後のページへのリンクを出力します。

<$mt:PageCount$>

現在のページ番号(1以上)を出力します。

<$mt:PageMaxCount$>

最大のページ番号(1以上)を出力します。

<mt:PageContentsHeader>〜</mt:PageContentsHeader>

ページ分割後の各ページ内で最初のコンテンツの場合に有効になるブロックです。
mt:PageSeparatorより前に記述してください。また、mt:PageContents内のmt:Entries等のブロック内に指定してください。

<mt:PageContentsFooter>〜</mt:PageContentsFooter>

ページ分割後の各ページ内で最後のコンテンツの場合に有効になるブロックです。
mt:PageSeparatorより前に記述してください。また、mt:PageContents内のmt:Entries等のブロック内に指定してください。

<mt:PageEmpty>〜</mt:PageEmpty>

mt:PageContents内の記事、コメントなどが一件も無い場合、mt:PageEmptyで指定された内容をmt:PageContentsの場所で表示します。

<mt:IfPageNoEmpty>〜</mt:IfPageNoEmpty>

mt:PageContents 内の記事、コメントが一件でもある場合に有効になるブロックです。逆に一件も無い場合はブロック内は表示されません。mt:PageContentsやmt:PageEmptyの外で利用してください。また、この条件タグは複数指定できますが、入れ子指定は出来ません。

mt:PageListsをより詳細にカスタマイズ

<mt:Pagination>〜</mt:Pagination>

従来のナビゲーションリンクを出力していたmt:PageListsの代わりに使用する事で、ナビゲーションにテンプレートを割り当て、自由に編集できるようにします。 従来では、ある程度固定的な出力となっていたナビゲーションリンクを、テンプレートを割り当てる事で、構造や出力を自由に指定し易く行えるブロックタグです。

<mt:PaginationHeader>〜</mt:PaginationHeader>

mt:Paginationで有効なブロックタグです。 mt:Paginationのヘッダーとして利用できます。

<mt:PaginationFooter>〜</mt:PaginationFooter>

mt:Paginationで有効なブロックタグです。 mt:Paginationのフッターとして利用できます。

<mt:IfPaginationCurrent>〜</mt:IfPaginationCurrent>

mt:Paginationで有効なブロックタグです。 現在のページを判定します。

<mt:IfPaginationFirst>〜</mt:IfPaginationFirst>

mt:Paginationで有効なブロックタグです。 カレントページ番号が最初のページ以外のときに有効となります(ただし最初のループのみ有効)

<mt:IfPaginationLast>〜</mt:IfPaginationLast>

mt:Paginationで有効なブロックタグです。 カレントページ番号が最後のページ以外のときに有効となります(ただし最後のループのみ有効)

<mt:IfPaginationPrev>〜</mt:IfPaginationPrev>

mt:Paginationで有効なブロックタグです。 カレントページ番号の前のページが存在する場合有効となります(ただし最初のループのみ有効)

<mt:IfPaginationNext>〜</mt:IfPaginationNext>

mt:Paginationで有効なブロックタグです。 カレントページ番号の次のページが存在する場合有効となります(ただし最後のループのみ有効)

<$mt:PaginationLink$>

mt:Paginationで有効なファンクションタグです。 プロトコルからページのファイル名までのURLを出力します。

element="number"

対象ページへのリンクから番号のみを取り出します。

element="base"

対象のページへのリンクからファイル名までを取り出します。

element="suffix"

対象のページへのリンクから拡張子のみを取り出します。

<$mt:PaginationFirst$>

mt:Paginationで有効なファンクションタグです。 最初のページへのURLを出力します。

element="number"

対象ページへのリンクから番号のみを取り出します。

element="base"

対象のページへのリンクからファイル名までを取り出します。

element="suffix"

対象のページへのリンクから拡張子のみを取り出します。

<$mt:PaginationLast$>

mt:Paginationで有効なファンクションタグです。 最後のページへのURLを出力します。

element="number"

対象ページへのリンクから番号を取り出します。

element="base"

対象のページへのリンクからファイル名までを取り出します。

element="suffix"

対象のページへのリンクから拡張子のみを取り出します。

<$mt:PaginationNext$>

mt:Paginationで有効なファンクションタグです。 次のページへのURLを出力します。

element="number"

対象ページへのリンクから番号のみを取り出します。

element="base"

対象のページへのリンクからファイル名までを取り出します。

element="suffix"

対象のページへのリンクから拡張子のみを取り出します。

<$mt:PaginationPrev$>

mt:Paginationで有効なファンクションタグです。 前のページへのURLを出力します。

element="number"

対象ページへのリンクから番号のみを取り出します。

element="base"

対象のページへのリンクからファイル名までを取り出します。

element="suffix"

対象のページへのリンクから拡張子のみを取り出します。

記事リストアーカイブサンプル(簡易版)

例. 以下は、記事リストアーカイブ(アーカイブテンプレート)でエントリーの一覧を5件ごとに区切った例です。

例)
<section id="posts"> <h2><$mt:ArchiveTitle$>アーカイブ</h2> <ol> <mt:PageContents count="5"> <mt:Entries limit="$entries_per_page" search_results="1"> <li> <a href="<$mt:EntryPermalink encode_html="1"$>"> <time datetime="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%x"$></time> <span class="title"><$mt:EntryTitle$></span> </a> </li> <$mt:PageSeparator$> </mt:Entries> </mt:PageContents> </ol> </section> <mt:IfPageBefore> <span><$mt:PageBefore delim="前の5件"$></span> </mt:IfPageBefore> <$mt:PageLists$> <mt:IfPageAfter> <span><$mt:PageAfter delim="次の5件"$></span> </mt:IfPageAfter>

記事リストアーカイブサンプル(mt:Pagination利用)

例. 以下は記事リストアーカイブ(アーカイブテンプレート)でmt:Paginationタグを利用しエントリーの一覧を5件ごとに区切った例です。

例)
<section id="posts"> <h2><$mt:ArchiveTitle$>アーカイブ</h2> <ol> <mt:PageContents count="5"> <mt:Entries limit="$entries_per_page" search_results="1"> <li> <a href="<$mt:EntryPermalink encode_html="1"$>"> <time datetime="<$mt:EntryDate format_name="iso8601"$>"><$mt:EntryDate format="%x"$></time> <span class="title"><$mt:EntryTitle$></span> </a> </li> <$mt:PageSeparator$> </mt:Entries> </mt:PageContents> </ol> </section> <mt:Pagination> <mt:PaginationHeader> <div class="pagenation"> <p class="this">現在のページ:<$mt:PageCount$> / <$mt:PageMaxCount$></p> <ul> </mt:PaginationHeader> <mt:IfPaginationPrev><li class="prev"><a href="<$mt:PaginationPrev$>">前の5件</a></li></mt:IfPaginationPrev> <li<mt:IfPaginationCurrent> class="current"</mt:IfPaginationCurrent>><mt:IfPaginationCurrent><$mt:PaginationLink element="number"$><mt:Else><a href="<$mt:PaginationLink$>"><$mt:PaginationLink element="number"$></a></mt:IfPaginationCurrent></li> <mt:IfPaginationNext><li class="next"><a href="<$mt:PaginationNext$>">次の5件</a></li></mt:IfPaginationNext> <mt:PaginationFooter> </ul> <mt:IfPageFirst><div class="start"><a href="<$mt:PaginationFirst$>">最初のページへ</a></div></mt:IfPageFirst> <mt:IfPageLast><div class="end"><a href="<$mt:PaginationLast$>">最後のページへ</a></div></mt:IfPageLast> </div> </mt:PaginationFooter> </mt:Pagination>

記事アーカイブサンプル(mt:Pagination利用)

例. 以下は記事アーカイブ(アーカイブテンプレート)で記事ページを区切った例です。このページでも利用しています。

記事アーカイブ

例)
<MTPageContents count="1" abs2rel="1"> <$mt:EntryBody mteval="1"$><$mt:PageSeparator$> </MTPageContents> <mt:Pagination> <mt:PaginationHeader> <div class="-page_split"> </mt:PaginationHeader> <span<mt:IfPaginationCurrent> class="current"</mt:IfPaginationCurrent>><mt:IfPaginationCurrent><$mt:PaginationLink element="number" show_always="0"$><mt:Else><a href="<$mt:PaginationLink$>"><$mt:PaginationLink element="number" show_always="0"$></a></mt:IfPaginationCurrent></span> <mt:PaginationFooter> </div> </mt:PaginationFooter> </mt:Pagination>

記事の編集

例)
<h2>1ページ目</h2> <p>次のページは「<a href="<$mt:EntryBasename$>_2.html" class="font-bold" >2ページ目です</a>」です。</p> <$mt:PageSeparator$> <h2>2ページ目</h2> <p>次のページは「<a href="<$mt:EntryBasename$>_3.html" class="font-bold" >3ページ目です</a>」です。</p> <$mt:PageSeparator$> <h2>3ページ目</h2>

目次