PageBute プラグインによるページ分割

PageBute プラグインによるページ分割

Posted at November 7,2008 12:55 AM
Tag:[Customize, MovableType, Page, Plugin]

スカイアークシステムが配布している PageBute プラグインによる、Movable Type 4 のページ分割方法を紹介します。

PageBute プラグインによるページ分割

これまでは主に、Paginate プラグインによるページ分割方法を紹介してきましたが、PageBute プラグインを利用すれば、メインページやブログ記事リスト(月別アーカイブ/カテゴリーアーカイブなど)のページ分割を、PHP 化を行わずに実現することができます。

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

下記のリンクからプラグインアーカイブ(2008年11月現在は PageBute3.01.zip)をダウンロードし、任意のフォルダに保存してください。

PageBute

2.インストール

プラグインアーカイブを解凍し、中にある PageBute.pl を plugins ディレクトリにアップロードしてください。

ブログ管理画面より「システム」→「プラグイン」でプラグイン一覧を表示し、次のように表示されればOKです。

プラグイン一覧

3.テンプレートのカスタマイズ

3.1 メインページ(デフォルトテンプレート)

「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
<mt:pageContents count="5">
<mt:Entries>
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                            </div>
                        </div>
                    </div>
...後略...

3.2 メインページ(配布テンプレート)

「メインページ」インデックステンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。

...前略...
<div id="content">
<div class="blog">
 
<mt:pageContents count="5">
<mt:entries>
   <mt:entryTrackbackData />
   <mt:include module="ブログ記事の概要" />
   <mt:pageSeparator />
</mt:entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
 
</div>
</div>
...後略...

3.3 アーカイブページ(デフォルトテンプレート:月別アーカイブ)

「月別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
                            <h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
                                <a href="<$mt:Link template="main_index"$>">メインページ</a> |
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                                <mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a></mt:ArchiveNext>
                            </div>
                        </div>
                    </div>
                    <$mt:Include module="サイドバー"$>
                </div>
            </div>
...後略...

3.4 アーカイブページ(デフォルトテンプレート:カテゴリアーカイブ)

「カテゴリ別ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="$limit" は削除してください。

...前略...
            <div id="content">
                <div id="content-inner">
                    <div id="alpha">
                        <div id="alpha-inner">
<mt:If name="datebased_archive">
                            <mt:Ignore><!-- Title for category-monthly entry listings --></mt:Ignore>
                            <h1 id="page-title" class="archive-title"><$mt:ArchiveTitle$>アーカイブ</h1>
<mt:Else>
                            <mt:Ignore><!-- Title for category entry listings --></mt:Ignore>
                            <h1 id="page-title" class="archive-title"><em><$mt:ArchiveTitle$></em>の最近のブログ記事</h1>
</mt:If>
<mt:Ignore><!-- Limit number of entries to the number set in Blog Entry Settings --></mt:Ignore>
<mt:Unless name="datebased_archive"><$mt:Var name="limit" value="auto"$></mt:Unless>
<mt:pageContents count="5">
<mt:Entries limit="$limit">
                            <mt:Ignore><!-- Use the Entry Summary module for each entry published on this page --></mt:Ignore>
                            <$mt:Include module="ブログ記事の概要"$>
<mt:pageSeparator />
</mt:Entries>
</mt:pageContents>
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
                            <div class="content-nav">
                                <mt:ArchivePrevious><a href="<$mt:ArchiveLink$>">&laquo; <$mt:ArchiveTitle$></a> |</mt:ArchivePrevious>
                                <a href="<$mt:Link template="main_index"$>">メインページ</a> |
                                <a href="<$mt:Link template="archive_index"$>">アーカイブ</a>
                                <mt:ArchiveNext>| <a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$> &raquo;</a></mt:ArchiveNext>
                            </div>
                        </div>
                    </div>
                    <$mt:Include module="サイドバー"$>
                </div>
            </div>
...後略...

3.5 アーカイブページ(配布テンプレート:月別アーカイブ/カテゴリアーカイブ)

「ブログ記事リスト」アーカイブテンプレートに青色部分を追加します。赤色の数字が1ページに表示する件数です。MTEntries タグの limit="auto" は削除してください。

...前略...
<div id="content">
<div class="blog">
 
<div class="content-nav">
    <mt:archivePrevious>
    <a href="<mt:ArchiveLink />">&laquo; <mt:archiveTitle /></a> |
    </mt:archivePrevious>
    <mt:archiveNext>
    | <a href="<mt:ArchiveLink />"><mt:archiveTitle /> &raquo;</a>
    </mt:archiveNext>
</div>
 
<mt:if name="datebased_archive">
   <mt:pageContents count="5">
   <mt:entries>
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
      <mt:pageSeparator />
   </mt:entries>
   </mt:pageContents>
<mt:else>
   <mt:pageContents count="2">
   <mt:entries limit="auto">
      <mt:entryTrackbackData />
      <mt:include module="ブログ記事の概要" />
      <mt:pageSeparator />
   </mt:entries>
   </mt:pageContents>
</mt:if>
 
<div class="content-nav">
<mt:ifPageBefore>
  <span><$MTPageBefore delim="&#65308;"$></span>
</mt:ifPageBefore>
<mt:pageLists />
<mt:ifPageNext>
  <span><mt:pageNext delim="&#65310;" /></span>
</mt:ifPageNext>
</div>
 
</div>
</div>
...後略...
関連記事
zenback
人気エントリー
トラックバックURL


トラックバック

ニュースやらアーカイブをいじる from naka-sta駅務日記
どうも、先週はBMメンバーで2日連続ボーリングにいって、2日とも最低スコアが10... [続きを読む]

Tracked on January 15, 2009 1:04 AM

ページを分割するプラグイン「PageBute」 from k's note
なぜか、このMovableTypeには一般のブログにはついてて当たり前の「次のペ... [続きを読む]

Tracked on February 24, 2009 7:10 PM

PageBute Movable type用ページ分割プラグインを導入(google sitemap対応) from BSDあれこれ
記事数が少し増えてきたのでMovable type用静的ページをページ分割するプ... [続きを読む]

Tracked on July 31, 2009 5:46 PM

MTでページ送りナビゲーションをつける from hinoeuma1966
先日、このブログでもHelpを求めたページ送りのナビゲーションの設定。(Mova... [続きを読む]

Tracked on October 12, 2009 10:10 PM

メインページのページ分割(その1) from 道化師ラッパンのぼやき
メインページにページ分割を表示させようと思う。何記事かに区切って表示させる方法・・・Googleで検索した時に出るアレである。↓  ... [続きを読む]

Tracked on March 28, 2010 4:52 PM

PageBute備忘録 / PageBute비망록 from ちょあへよ札幌3
やっとページ分割に対応(´Д`)ハァ...小粋空間さんが一番わかりやすかったです。http://www.koikikukan.com/archives/2... [続きを読む]

Tracked on December 31, 2011 2:39 PM
コメント

こんばんは。
Movable Type 4.2 テンプレートセット(フッタ付きリキッドレイアウト対応)でのカスタマイズ方法を教えてください。
宜しくお願いいたします。

[1] Posted by hi-lite&coffee : January 19, 2009 3:28 AM

>hi-lite&coffeeさん
こんにちは。
ご質問の件ですが、3.2項と3.5項の設定を行ってください。
それではよろしくお願い致します。

[2] Posted by yujiro logo : January 20, 2009 5:07 PM

こんにちは。

3.2項と3.5項の設定を行いましたが、うまくできないようです。
何がいけないのか分からないので教えていただけませんか?

プラグインはきちんと表示されています。

[3] Posted by hi-lite&coffee : January 31, 2009 1:59 PM

>hi-lite&coffeeさん
こんにちは。
ご質問の件ですが、「うまくできない」というのは「ページ分割されない」ということでしょうか?
メインページは、ブログ管理画面の「設定」→「ブログ記事」で、ブログ記事数の表示数を変更してみてください。
ブログ記事数の多いカテゴリー(Diaryなど)では分割されているようなので、プラグインは正常に動作していると思います。
それではよろしくお願い致します。

[4] Posted by yujiro logo : February 4, 2009 4:22 PM

詳しく書かなくて申し訳ありませんでした。

トップページの分割ができないことと、ブログ記事数の表示数を5にしているのに2つまでしか表示されません。

「赤色の数字が1ページに表示する件数です。」と書かれていますが、http://hi-lite.holy.jp/movie/のブログ記事数の多いカテゴリーAmerican Movieでお分かりのようにそれ以上に表示されてしまいます。

どのようにしたら良いのでしょうか?
お忙しいと思いますが宜しくお願い致します。

[5] Posted by hi-lite&coffee : February 10, 2009 6:59 PM

>hi-lite&coffeeさん
こんばんは。
申し訳ありませんが当方で開発したプラグインではないため、これ以上は不明です。
動作の不具合については下記でご質問いただけますでしょうか。
http://www.skyarc.co.jp/engineerblog/entry/2642.html
それではよろしくお願い致します。

[6] Posted by yujiro logo : February 16, 2009 12:04 AM

お世話様です。

当該エントリーにてMT4用のカスタマイズが記載されておりますが、「MT3.34(古いですが)」でのカスタマイズ方法をご教授いただければと思っております。

MT4ではエントリーの本文表示に「<$MTEntryBody$>」は使わないのでしょうか?当方MT3.34のデフォルトテンプレートには本文表示に<$MTEntryBody$>が使われているのですが。。
<$MTPageExcerpt$>などで代用しているのでしょうか?
(だとしたらなぜでしょうか?本文に書かずに概要に本文相当の記事を書くのですか?)

現在、当方では以下のタグを用いてエントリー表示しております。(カテゴリーアーカイブ

<$MTEntryTitle$>を用いてタイトル表示。
<MTDateHeader>を用いて<$MTEntryDate format="%x"$>にてエントリー日付表示。
<$MTEntryBody$>にて本文表示

後は、投稿者のハンドルネームやパーマリンクを表示させています。

[7] Posted by Pon : October 31, 2009 8:09 PM

>Ponさん
こんばんは。
ご質問の件ですが、MT4ではデフォルトテンプレートで、テンプレートの部品化を行なっているので、本文表示をするテンプレートとして「ブログ記事の概要」テンプレートモジュールを読み込んでいます。それが「<mt:include module="ブログ記事の概要" />」にあたります。この行で、いわゆるブログ記事の「概要」フィールドに該当する内容を表示しているわけではありません。
よって、ご質問の回答としては「MT4でもエントリーの本文表示には<$MTEntryBody$>」を使っています」となります。

また、MT3に対するページ分割については、MTEntriesタグの前後にページ分割用のテンプレートタグを加える作業はMT4と変わらないので、本エントリーの設定位置を参考にトライしてみてください(それでも不明な場合は再度ご連絡頂けますでしょうか)。

それではよろしくお願い致します。

[8] Posted by yujiro logo : November 1, 2009 12:57 AM

いつも拝見させて頂き勉強させて頂いております。
Mt3時代に何度かメールでもご教授頂いたのですが、今回一気にMt5.1にバージョンアップしてみました。
小粋空間様のテンプレートを使用しているのですが、Pagebuteプラグインをアップロードしてもプラグイン一覧に表示されません?アップロード箇所は間違えていないはずなのですが・・・思い当たる事は御座いますでしょうか?
又、テンプレート内のカレンダーウイジャットを3カラムもサブサイドバーに設置したのですが表示されないのです。どこか手を加えたりするのでしょうか?
初歩的な質問で大変申し訳御座いません。
ご教授頂けると幸いです。

[9] Posted by umazou : June 8, 2011 11:18 AM

yujiro様
連続コメント申し訳ありません。
Pagebuteの件は私の勘違いでした…申し訳ありません。「システム」の方のプラグイン一覧を見ていませんでした。自己解決出来たのでご報告させて頂きます。

[10] Posted by umazou : June 8, 2011 10:52 PM

>umazouさん
こんにちは。
ご連絡ありがとうございます。
ご質問の件、自己解決されたようでよかったです。

カレンダーウィジェットを表示するには、日別アーカイブの追加が必要です。日別アーカイブが必要な理由は、カレンダーの日付のリンクが日別アーカイブにリンクしているためです。説明不足で申し訳ありません。

日別アーカイブを追加するには、管理画面の「デザイン」→「テンプレート」でアーカイブテンプレートの一覧にある「ブログ記事リスト」をクリックし(テーブルの中に表示されている「ブログ記事リスト」です)、編集画面下にある「テンプレートの設定」をクリックし、さらに「新しいアーカイブマッピングを作成」をクリックして、プルダウンメニューから「日別」を選択して「追加」をクリックしてください。
それではよろしくお願い致します。

[11] Posted by yujiro logo : June 9, 2011 12:52 PM

yujiro様
お忙しい中ご教授頂けましてありがとうございました。無事カレンダーが表示されました。
今回mt5.1にアップグレードした際にバックアップに失敗してゼロからのスターになってしまいました。古いですが「Movable Type WEBデザインの新しいルール」片手に四苦八苦してます。
折りたたみや本文と概要の切り替えに挑戦したいのですが敷居が高そうです。
頑張ってみたいと思います。
ありがとうございました。

[12] Posted by umazou : June 9, 2011 4:34 PM

いつもお世話になっています。
カテゴリーのページ分割を試してみたのですが、別のurlにアクセスしてしまいます。
/mt_main/log/ にメインのブログが置いてあります。
/mt_main/archives/ には各カテゴリーのページがあります。
ブラウザでブログを閲覧し、特定のカテゴリーをクリックして表示されたページの最終記事の下にある数字をクリックすると本来は /mt_main/archives/ cat・・・・・  に飛んでほしいのですが、
/mt_main/log/cat・・・・  に飛んでしまいます。
どの部分をどのように書き換えたらよろしいでしょうか。
かなり時間をかけたのですが理解できず質問させていただきました。

[13] Posted by taki : December 22, 2011 1:16 AM

↑ 自己解決しました。
すみません。。。

[14] Posted by taki : December 22, 2011 9:16 PM

>takiさん
こんばんは。
ご質問の件、自己解決したようでよかったです。
ではでは!

[15] Posted by yujiro logo : December 23, 2011 3:36 AM

小粋空間さんのテンプレート使いブログを構築させていただき、大変重宝しております。
メインページとブログ記事リスト(テンプレートアーカイブ)においてページ分割の表示が異なってします。但し、ページの分割自体は正常です。
本記事のソースのまま入れ込んでいるのですが、以下のような表示になってしまいます。

◇メインページ
「タイトル」
「タイトル」

◇ブログ記事リスト(アーカイブ)
「タイトル」

「タイトル」

ブログ記事リストの場合、改行が入ってしまいます。CSS及び生成されたソースコードで確認してみたのですが、改行やスペースに関する記述はみた限りみうけられませんでした。
これは、PageBute特有なのか、テンプレートを修正すればなおるものなのでしょうか。
MT5.2で2つのブログを動かしているのですが、2つとも同じ症状です。
よろしくお願いします。

[16] Posted by tiara818 logo : November 16, 2012 2:59 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)