ダイナミックパブリッシングでページ分割をアーカイブ一覧ページに導入

このページは更新されていません。恒久的にメンテナンスされないかもしれません。ページの内容については作成時点での情報に基づいたものです。

ダイナミックパブリッシングでのページ分割をやってみました。適用はアーカイブ一覧(archives.html

2009/06/03 追記、現在アーカイブインデックスページでは、ページ分割をおこなっていません。興味のある方は、「MT:アーカイブインデックスにAjax検索を取り入れて改造した」をご参照ください。

少しですが、ブログ記事が溜まってきましたので、ページ分割でもためそうかな、と思いつきでやってしまいました。

ページ分割には、プラグインをもちいる方法などいろいろとあるのですが、今回おこなったのは、ダイナミックページで分割するという方法です。

参考にしたのは、WingMemoさまの「ダイナミック・パブリッシングで頁分割(1)」というエントリです。

例によって、説明はWingMemoさまの記事のとおりです。とかいうと、手抜きみたいなので、メモ程度に記録しておきます。

まずは、archives.htmlのページをダイナミックパブリッシングに切り替えます。設定後、まともに表示されていることを確認。

MTEntriesの置き換えですが、Vicuna(mt.Vicuna2x)では、テンプレートモジュールの、「ヘッドライン」のMTEntriesを記事で紹介されているように置換します。

	<MTEntries sort_order="descend" lastn="9999">
	{{assign var="epp" value=10}}
<MTEntries lastn="10" offset="`$smarty.request.offset`">

ここでは、10件ごとで分割にすることにしたので、value=10, lastn="10"のようにしました。

次は、ページ分割表示したい箇所(ようするに、「1|2|3...というリンクを埋めるところ)に、分割表示のためのソースコードを埋め込みます。

ここでは、直接アーカイブインデックスのところに埋め込んでおきました。

			<$MTInclude module="ヘッドライン"$>
<!-- 頁分割ここから -->
<P class="pagenate">
  ・  ・  ・
</p>
<!-- 頁分割ここまで -->
		</div>

という具合です。p要素内に記事にあるソースをいれました。<$MTArchiveCount$>の記述は、全エントリのアーカイブなので、<$MTBlogEntryCount$>のほうを使いました。

追記:2009/02/19

導入後、気づいた点をあげておきます。

movabletype.jpにて公式のタグによる方法が解説されており、現在はそちらのほうでおこなっています。

アーカイブインデックスをダイナミックにした場合に、ブログのディレクトリに.htaccessが生成されます。(ここでいうと/blog/以下)ですので、404・403などのエラーページは全てダイナミックエラーのテンプレートが適用になることになります。

上記の関係でトップページが​http://example.com​/ であった場合、エラーページがダイナミックエラーのページでは都合の悪いことがありますので、ダイナミックパブリッシングでのページ分割はおこなわず、PageButeプラグインなど検討されるといいかと思います。

Comments:

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

blog comments powered by Disqus