2008年6月28日

MTのページ分割 PageBute

  

FWTWのブログはご覧の通りMovableTypeを使用している。

これが、デフォルトでは痒いところに手が届かないシステムで(逆に言うと自由度が高い?)、要はカスタマイズしまくらないと、自分の思ったとおりの仕組みにならない。

で、その中でも、一番懸案だったのが

「ページ分割」

インデックス(トップ)ページはもちろんアーカイブ(カテゴリや月別)のインデックスにおいて、これがないと記事が多くなった場合、古い記事にリーチするための手数が多くなって、ほとんど閲覧してもらえない・・・・ということになってしまうわけで。

そこで、検索して最初に見つけたのが、

MTPaginate

というプラグイン。

見つけたときは狂喜乱舞(まではしてないが)、すべてのアーカイブページに仕込んで、ついでにトップインデックスにも仕込んで、できたーと思った後で重大な問題が発覚。

確かに分割され、ページ繰越のリンクも現れる。
けれど、それは「表面上」のことで、実際はアーカイブの全データを送りつけ、javascriptで一部分を切り出すという手法の為、あるアーカイブでは500k超のページになっていたり。
そのアーカイブの全ページを閲覧するならそれでもいいけれど、一部しか見ない人にそれは無いしそもそもサーバ側にも、ページ表示も重くなってしまう。

ソースコードをすべて読んだわけではないので、自分の使いかた方が悪いのかもしれないけれど、少なくともざっと実装したら結果はそんな感じだった。

理想は、再構築時にスタティックな「ファイルに分割」して、その上でページ繰越のリンクをつけてくれること。

で再検索・・・・・発見!

PageBute
詳細はSKYARC Systemさんのサイトにて

神光臨。実装も簡単。JSも使わない。ありがたや。

出力されるページリンクのマークアップは、単にaタグが並んでいるだけということがスタイルこだわり派の人には、多少ある不満かもしれないが、そこまで手をつけたければ、プラグイン中をいじるまで。(いじるいじらないにか関わらず再配布はしちゃだめよ。)

また、再構築時に「すべてのページ」で再構築すると、アーカイブの分割が行われなかったりする場合があるので、そういう時はアーカイブごとに個別に再構築すると分割される。

それと、「検索結果の分割はできない」とのことだが(動的だしそりゃそうだ)、MT4.2のリリースで検索結果のページ分割がMT側で実装されるらしいので、そこら辺は問題ないかなと。

以上、MT4.12でのお話。
もうすぐ4.2が出るのに、今4.12で再構築してしまったのは時期尚早だったかも。

まーそういうことで、事なきを得たけれども、そもそもこの機能は標準で実装してほしいもので。

トラックバックURL

このエントリーのトラックバックURL: