Movable Type 備忘録

 

 PageBute プラグイン

こんばんわ^^

今日は姪っ子の運動会に行って来ました (●´∀`●)

姪っ子は徒競走と大太鼓に参加しました。
徒競走は 4 人中 4 着で残念だったけど、本人は大変満足してたよ (; ̄∇ ̄A

大太鼓は 4 月から少しずつ練習してたようで、上手にできたからご褒美に、前々から欲しい言ってた、リカちゃんシリーズの 三つ子ちゃんをプレゼントしてあげた。

来年はもう小学生です。早いものですね。

さて、今回はページを任意に場所で区切って、複数のページに分割してくれるプラグインのご紹介です。
たとえば、ブログを公開しているとアーカイブページはどうしても投稿したエントリ数に比例して、ページが長ぁ~くなりがちですよね。
長くなったページを分割して見やすくしたりなどに使ったりします。

わたしのサイトでは、年別アーカイブをページ分割して見やすくしてみました。

ページ分割するには、PageBute プラグインを使用します。

カスタマイズ

  1. まず、上記 URL から PageBute プラグインをダウンロードします。 そして、mt/plugins/ ディレクトリにアップロードします。

  2. 次に、ページ分割したいテンプレートを変更します。

    たとえば、メインページのエントリを 5 件ずつ分割したい場合は以下のようになります。

    <MTPageContents count="5">
    <MTEntries><$MTInclude module="ブログ記事の概要"$><$MTPageSeparator$></MTEntries>
    </MTPageContents>
    <div class="content-nav">
    <MTIfPageBefore><span><$MTPageBefore delim="前の5件"$></span></MTIfPageBefore>
    <$MTPageLists$>
    <MTIfPageNext><span><$MTPageNext delim="次の5件"$></span></MTIfPageNext>
    </div>
    
    

    分割したい部分を <MTPageContents> ブロックタグで囲います。
    ここではエントリを 5 件ずつのページに分割したいため、count アトリビュートには '5' と指定しています。指定しなかった場合、デフォルトは 10 件ずつ分割されます。

    赤い字の <$MTPageSeparator$> タグは、ページの区切りとして必ず指定します。

    緑の字の部分は分割後の各ページへのリンクリストになします。
    <MTIfPageBefore>、<MTIfPageNext> 条件タグを使って、それぞれ前のリンク、次のリンクが出力され、<$MTPageLists$> タグで各ページへのリンクリストが出力されます。

  3. テンプレートを修正したら再構築して、ページ分割されることを確認します。
    当然ですが、count アトリビュートで指定した数値以下の場合は分割されません。

以上で、縦に長くなったページを分割することができました。

 Trackback Pings(4)

from SCREAMO

Movable Typeに限らず、ブログを長く続けていると、どうしても気になってしまうのがアーカイブページが異常に長くなってしまう点。表示記事数を削った...

from SCREAMO

PageButeというMT Pluginを使えば、Movable Typeを簡単にページ分割できる。前回のエントリーでは、設置方法から基礎コーディングを...

from SCREAMO

前回まで、PageButeを利用してのMovable Typeのページ分割化を進めてきた。基本コーディングから始まり、スタイルシートを適応させてデザイン...

from ぶろぐ稲沢.org

Movable Typeにページ送り機能(ページの分割)を追加してみましたヽ(´...

 Comments(21)

#1: Posted by oscar Author Profile Page [RES]

こんにちは。
私もこのプラグイン試してみてます。ファイルとして分割されるのが、とても便利ですよね。
分割という動作だけなら、十分な機能だと思いました。

個人的には、ナビゲーションが気に入らなくて、使わなくなったのですが。

#2: Posted by NANA Author Profile Page [RES]

こんにちわ^^

> 分割という動作だけなら、十分な機能だと思いました。

ですね。
PHP に依存しないし、ホントの意味でページ分割されるので、SEO 的にも良いとのことだし♪
それに、PageNate プラグインに比べたらずっと使いやすいと思います ( ̄∇ ̄)b

#3: Posted by naoaki011 Author Profile Page [RES]

>SEO 的にも良いとのことだし♪

ここら辺はどうなんでしょ?
SEO的に良いってのは、迷信のような部分もあるのでは。
クエリより実URLの方がSEOに良いってのは、理解できるとしても、ページ分割によりページ内容がどんどん変化しているわけでしょ。
そもそも、それがサーチエンジンにかかる事に、意味があるのかどうか?
SEO的にはコンテンツは重複しない方が良いらしいです。
だから、そもそもアーカイブ関連は、検索対象から除外するべきかと思うんですけど。

#4: Posted by id:bzbell Author Profile Page [RES]

>>3 naoaki011 さん

> そもそもアーカイブ関連は、検索対象から除外するべきかと思うんですけど。

そうなんですか!!
確かにアーカイブページってどこのサイトも上位ランクに位置してませんね。

でも、アーカイブページは言い換えると、サイトマップみたいな役割と思ってます。
以前どっかで、クローラがすべてのリンクを辿れるように、サイトマップ(アーカイブページ)を設置した方がよいということを目にしました。

そういう観点からすると、アーカイブページって大事なものだと思ってたのですが・・・。

#5: Posted by さじ [RES]

お世話になってます。
PageButeプラグイン試してみました。
インデックスでエントリーを表示させるのに使っていますが、カテゴリーを指定すると、指定した件数表示されないことがないですか?
みなさんの環境ではどうなんでしょうか?

#6: Posted by bzbell Author Profile Page [RES]

>>5 さじ さん

こんにちわ^^

> ・・・カテゴリーを指定すると、指定した件数表示されないことがないですか?

それはカテゴリ指定した場合に限ったことですか!?
確認してみます ( ̄∇ ̄)/

#7: Posted by oscar Author Profile Page [RES]

>>4 id:bzbell さん
>クローラがすべてのリンクを辿れるように、サイトマップ(アーカイブページ)を設置した方がよい
これって、sitemap.xmlの事なのでは?

私の認識では、アーカイブはあくまで、訪問者がサイト内で欲しい情報を探す為の物と捉えています。
目的の物を探し出す手段として、提供しているのだと。

まぁ、サーチエンジンの仕組みは各社違うらしいので、どれが正しいってのも無さそうですけどね。

>>5 さじ さん
MTのバージョンを念のため書いた方が良いですよ。

#8: Posted by さじ [RES]

>>6 bzbell さん
ありがとうございますー。
カテゴリーを絞り込むのしか試していないので、ほかはどうなっているかわかりません。。。すみません。

ちなみにわたしが使用しているMTのバージョンは4.01です。

#9: Posted by bzbell Author Profile Page [RES]

>>7 oscar さん

こんばんわ^^

> これって、sitemap.xmlの事なのでは?
> 私の認識では、アーカイブはあくまで、訪問者がサイト内で欲しい情報を探す為の物と捉えています。
> 目的の物を探し出す手段として、提供しているのだと。

あっ!! そうなんですかっ Σ( ̄Д ̄;) ガーーン!!
oscar さんに言われて思い出したんですけど、わたし、sitemap.xml をサーバお引越しで置いてきてしまってました (; ̄∇ ̄A

よかったぁ、話題にでて。しばらく気づかないでいましたよ。

#10: Posted by bzbell Author Profile Page [RES]

>>8 さじ さん

こんばんわ^^

> カテゴリーを絞り込むのしか試していないので、ほかはどうなっているかわかりません。。。すみません。

はい。確認してみますね (●´∀`●)

#11: Posted by K君 [RES]

おひさしぶりです。Ajaxでアクセスランキングを表示するの際にお世話になったものです。

ちょうどページ分割してくれるプラグインやら方法を探していたところ、またもや理想にぴったりのものを見つけてしまいました。
ずーっと「ページ送り」で検索してたので全然見つからずそんな方法ないのかと思ってました(T_T)
同じような人は多いはず・・・(;-_-)


bzbellさん大好きです(*´∀`*)

#12: Posted by bzbell Author Profile Page [RES]

>>11 K君 さん

こんばんわ^^

> ずーっと「ページ送り」で検索してたので全然見つからずそんな方法ないのかと思ってました(T_T)
同じような人は多いはず・・・(;-_-)

そっかぁ Σ( ̄Д ̄;) ガーーン!!
よくよく考えたら、検索エンジンで PageBute なんてキーワードで探さないですよねっ(つω-`。)

勉強になりましたの。
今後はタイトルもよく考えよっと (●´∀`●)

> bzbellさん大好きです(*´∀`*)

ありがとぅ~ (●>∀<●)/
今後ともよろしくですの♪

#13: Posted by うに Author Profile Page [RES]

いつもお世話してもらってます。
うにです。

ページ分割ですがなかなかうまく動いてくれません。

今はメインページを分割したく(将来的には出来る限り全部)作業を行っているんですが、、、

カスタマイズするテンプレートなんですが、モジュールテンプレートのコンテナでいいんでしょうか?

現在テストで記事が7つありまして、5つの記事で分割するようにしてはみたんですが・・・

サイトを見ると記事の一番下に数字の1が表示され、次ページへのリンクが表示されません。

他にもまたいくつか聞きたい事があるんですけど。。。
あまりブログ汚すのも悪いのでメールで質問した方がいいんでしょうか・・・?

お世話になりっぱなしで大変申し訳ないです。。。orz

#14: Posted by bzbell Author Profile Page [RES]

>>13 うに さん

> カスタマイズするテンプレートなんですが、モジュールテンプレートのコンテナでいいんでしょうか?

はい。
そのテンプレートでいいと思います。
メイン・インデックス用のコンテナ部分がありますので、そこでページ分割のカスタマイズをすれば OK ですよ ( ̄∇ ̄)b

- 追記 -
コンテナ・テンプレートモジュール内の 16 行目辺りのメインインデックスを以下のように変更してください。

<MTIf name="main_index">
<MTPageContents count="5">
<MTEntries>
<$MTEntryTrackbackData$>
<$MTInclude module="ブログ記事の概要"$><$MTPageSeparator$>
</MTEntries>
</MTPageContents>
<div class="content-nav">
<MTIfPageBefore><span><$MTPageBefore delim="&lt;"$></span></MTIfPageBefore>
<$MTPageLists$>
<MTIfPageNext><span><$MTPageNext delim="&gt;"$></span></MTIfPageNext>
</div>
<MTElse>

詳しいことは記事の内容をご覧ください。
あ、あとブログの表示記事数を 5 以上にしてください。

#15: Posted by うに Author Profile Page [RES]

>>14 bzbell さん

返信ありがとうございます。

今回返信頂いた内容でコンテナ内16行目辺りに追記し、ブログ設定は5件に変更し再構築し、確認しましたが現象変わらず、次のページのリンクが表示されません。。。

#16: Posted by bzbell Author Profile Page [RES]

>>15 うに さん

こんにちわ^^

> ブログ設定は5件に変更し再構築し

ブログの表示記事数を 10 件にしてみてください。
そうすれば、5 件ずつのページに分割(厳密にはリンクが 2 つ)されませんか !?

#17: Posted by うに Author Profile Page [RES]

>>16 bzbell さん

>ブログの表示記事数を 10 件にしてみてください。

おぉぉぉ
無事表示できました^^
どっかのサイトの説明で分割数に合わせて設定を変えるとか書いてあったので

あぁっ!!!
人のせいにしちゃいけませんよね><;

ありがとうございました。

もう一つ、これはテンプレートの方でする質問なのかもしれませんが、個別記事を表示する時の前のページ、次のページへのリンクを表示させるのは何か別のプラグインが必要なんでしょうか?
これはMovableType MEMOのテンプレートお使いのみなさんへ4の記事の内容を組み込めばいいんでしょうか?

#18: Posted by bzbell Author Profile Page [RES]

>>17 うに さん

> ありがとうございました。

はい♪

> 個別記事を表示する時の前のページ、次のページへのリンクを表示させるのは何か別のプラグインが必要なんでしょうか?

リンクしたい内容にもよりますが、わたしのサイトで表示してる、カテゴリ内の前・次リンクするならプラグインが必要かも、です。
でも、投稿順の前・次リンクならプラグインなしでできます。

#19: Posted by うに Author Profile Page [RES]

>>18 bzbell さん

お早いレスありがとうございます。

>投稿順の前・次リンクならプラグインなしでできます。

ずばりソレです^^
出来れば組み込む場所とかを教えて頂きたいです。

それと、ページ分割をカテゴリ別のページにも組み込みたいんですが、どこに追記すればいいんでしょうか?

コンテナ?のソースを見てみたんですがよくわからず・・・

すいませんです。。。

#20: Posted by bzbell Author Profile Page [RES]

>>19 うに さん

> ずばりソレです^^

はい。
そうしますと、MovableType MEMOのテンプレートお使いのみなさんへ4でご紹介してる、エントリに関連付けされてない方のタグを使用すれば OK です。

> それと、ページ分割をカテゴリ別のページにも組み込みたいんですが、どこに追記すればいいんでしょうか?

コンテナ・テンプレートモジュール内の 68 行目辺りがカテゴリ・アーカイブになります。

#21: Posted by うに Author Profile Page [RES]

>>20 bzbell さん

ありがとうございました。
無事カテゴリーアーカイブの分割および投稿順の前・次リンクを組み込む事が出来ました。

今後とも宜しくお願い致します。
(_ _(--;(_ _(--; ペコペコ

 Post a Comment

コメント用フィード