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

Movable Type 5 ManualMovable Type 5 マニュアル

ダイナミックパブリッシングでのページ分割

最終更新日: 2012.12.20

この機能は、詳細なテストを行っていない実験的な機能ですので、サポート対象外です。

Movable Type 4.2 では、ダイナミックパブリッシングを使ったアーカイブテンプレートの出力結果をページ分割できる機能を追加しました。このドキュメントでは、テンプレートの変更方法や、ページ分割に関するカスタマイズの方法を解説します。

必要な環境

Movable Type は通常、Apache の ErrorDocument ディレクティブを使用してダイナミックパブリッシングを行います。ページ分割機能を有効にするには、RewriteRule ディレクティブを使用して、ダイナミックパブリッシングを行うように設定します。

Apache の設定を編集する

すでにダイナミックパブリッシングを導入しているなら、ブログのルートディレクトリにある .htaccess ファイルを編集します。テキストエディタなどで .htaccess を開いて、次のコードと似た部分へ移動します。

RewriteRule ^(.*)$ $mtview_server_url [L,QSA]

そして、次のように変更します。

RewriteRule ^(.*)(\?.*)?$ $mtview_server_url$2 [L,QSA]

テンプレートの編集

次のテンプレートをコピーしてください。

<div class="content-nav">
  <MTIfPreviousResults><a href="<MTPreviousLink encode_html="1">" rel="prev">
           &laquo; Previous</a>&nbsp;&nbsp;</MTIfPreviousResults>
  <MTPagerBlock>
    <MTIfCurrentPage><MTVar name="__value__"><MTElse><a href="<MTPagerLink encode_html="1">"><MTVar name="__value__"></a></MTIfCurrentPage>
    <mt:unless name="__last__">&nbsp;</mt:unless>
  </MTPagerBlock>
 <MTIfMoreResults>&nbsp;&nbsp;<a href="<MTNextLink encode_html="1">" rel="next">
         Next &raquo;</a>
 </MTIfMoreResults>
</div>

ここではカテゴリ別ブログ記事リストテンプレートを編集します。既に、カテゴリ別ブログ記事リストテンプレートには class の値が content-nav の div 要素で囲まれたブロックがあるので、その部分をコピーしたテンプレートと置き換えます。

次にカテゴリ別ブログ記事リストテンプレートの中から MTEntries ブロックタグを探します。MTEntries ブロックタグに、値が auto の offset モディファイアを追加するか、既に offset モディファイアがあったら値を auto に変更します。また limit モディファイアで、1ページに表示する件数 (例えば 10) を設定します。