MovableTypeカスタマイズへの道:静的ページのままでもページ分割できる!

MovableTypeは吐き出されるページが静的なHTMLで、サーバー上に物理的にHTMLファイルが存在するところがお気に入りだけど、「次の○件」とか、通常のブログとして利用する場合あって当然のページ分割の機能は、PHPにしないとダメだった。

が、いまや静的ページでも分割が可能なんですね。
静的ページ用ページ分割プラグイン:PageBute

ということで、遅ればせながら入れてみた。
上記サイトからPageButeをダウンロードして、PageBute.pl
をMovable Typeの「plugins」ディレクトリにアップロード。

まず、メインページを分割します。
トップページに10件表示して、過去の分もそのまま10件ずつ遷移できるようにします。
デザイン⇒テンプレート⇒(インデックステンプレート)メインページ
の、

<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>

となっているところを以下に変更。
赤い部分が追加するソースです。

<MTIfPageBefore><span><$MTPageBefore
delim="前の10件"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="次の10件"$></span></MTIfPageNext>

<MTPageContents count="10">
<MTEntries lastn="50">
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
<$MTPageSeparator$>
</MTEntries>
</MTPageContents>

<MTIfPageBefore><span><$MTPageBefore
delim="前の10件"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="次の10件"$></span></MTIfPageNext>

これで上下にページのナビゲーションが追加されました!
PageBute.jpg

<MTPageContents count="10">
<MTEntries lastn="50">

は、最大50件の記事を10件ずつ遷移するということです。
MTはトップページのデフォルトの表示件数は5件なので、
lastnで最大件数を指定した上で[ count="10"] 等と指定しないと、ページ遷移しません。
 
おなじく、カテゴリや月別アーカイブのページを分割するには、
デザイン⇒テンプレート⇒アーカイブテンプレート一覧⇒ブログ記事リスト


<MTIf name="datebased_archive">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
<MTElse>
<MTEntries limit="auto">
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
</MTEntries>
</MTIf>

を以下に変更します。

<MTIfPageBefore><span><$MTPageBefore
delim="前の10件"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="次の10件"$></span></MTIfPageNext>

<MTIf name="datebased_archive">
<MTPageContents count="10">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
<$MTPageSeparator$>
</MTEntries>
</MTPageContents>
<MTElse>
<MTPageContents count="10">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$>
<$MTPageSeparator$>
</MTEntries>
</MTPageContents>
</MTIf>

<MTIfPageBefore><span><$MTPageBefore
delim="前の10件"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="次の10件"$></span></MTIfPageNext>

ブログ記事リストの場合はそのアーカイブに属する記事はすべて表示されるので、lastnは必要ないらしい。
メデタシ。

Comments