PageButeプラグインでページを分割
1000エントリー近くあるこのブログの過去エントリーにアクセスする目的もかねてページ分割しました。
以前は、MTPaginateプラグインというものを使っていましたが、Pagebuteプラグインは、PHP化せずにページ分割が出来る事や、MTPaginateはMT4ではうまく動かない時があるようなので、こちらのプラグインを使いました。
参考記事;
静的ページ用ページ分割プラグイン:PageBute
ページナビのリンク数を変更できる:PageBute
PageBute プラグインによるページ分割
ここでの記事数設定は、Pagebuteよりも優先されるため、ここの数字を調整しないとPagebuteは期待通りの動作をしません。ここで5と設定されている場合、いくらPagebuteで10件ごとにページ送りを指定しても、効力を発揮しないのです。0や9999に設定することによって、Pagebuteの設定件数が有効になります。
ココで問題発生。
記事数設定を0とか9999にすると再構築時にエラーが出てきます。どうもデータベースがSQLiteの場合に発生する可能性があるようです。
という事で今度はデータベースをMySQLに変えなくてはと思っています。
再構築時にエラーが表示される不具合 ←リンク切れです。
【追記】2011年10月8日
上記のエラーは、記事数の分割処理によって解決しました。
MT 全記事表示の再構築時のエラー
とはいえ、カスタマイズなどは結構やりやすかったです。
【当サイトの関連エントリー】
Topページの分割表示
続きは導入の為のカスタマイズ用メモです。
PagebuteプラグインファイルをPluginフォルダーにアップロードした後、
以下のテンプレートを変更。赤色の部分を追加、変更します。
メインページテンプレート:
<div id="content"> <div class="blog"><mt:pageContents count="20" navi_count="9">
<mt:entries>
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries></mt:pageContents>
<div class="pagebute">
<MTIfPageFirst>
<span><$MTPageFirst delim="FIRST"$></span>
</MTIfPageFirst>
<mt:ifPageBefore>
<span><$MTPageBefore delim="PREV"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim="NEXT" /></span>
</mt:ifPageNext>
<MTIfPageLast>
<span><$MTPageLast delim="LAST"$></span>
</MTIfPageLast>
</div></div>
</div>
ブログ記事リスト:
<div class="content-nav">
<mt:archivePrevious>
<a href="<mt:ArchiveLink />">« <mt:archiveTitle /></a> |
</mt:archivePrevious>
<a href="<mt:Link template="main_index" />">Main</a>
<mt:archiveNext>
| <a href="<mt:ArchiveLink />"><mt:archiveTitle /> »</a>
</mt:archiveNext>
</div><mt:if name="datebased_archive">
<mt:pageContents count="20" navi_count="9">
<mt:entries>
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries>
</mt:pageContents>
<mt:else>
<mt:pageContents count="20" navi_count="9">
<mt:entries limit="auto">
<mt:entryTrackbackData />
<mt:include module="ブログ記事の概要" />
<mt:pageSeparator />
</mt:entries>
</mt:pageContents>
</mt:if></mt:pageContents>
<div class="pagebute">
<MTIfPageFirst>
<span><$MTPageFirst delim="FIRST"$></span>
</MTIfPageFirst>
<mt:ifPageBefore>
<span><$MTPageBefore delim="PREV"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
<span><mt:pageNext delim="NEXT" /></span>
</mt:ifPageNext>
<MTIfPageLast>
<span><$MTPageLast delim="LAST"$></span>
</MTIfPageLast>
</div></div>
</div>
スタイルシートに以下を追加。
/* PageBute */
.pagebute{
margin: 10px;
text-align: center;
font-size: 83.3%;
}
.pagebute a {
padding: 2px 2px;
color: #fff;
background: #337700;
}
.pagebute hover {
padding: 2px 2px;
color: #fff;
text-decoration: none;
background: #000;
}
コメントする