MTのページ分割 PageBute
FWTWのブログはご覧の通りMovableTypeを使用している。
これが、デフォルトでは痒いところに手が届かないシステムで(逆に言うと自由度が高い?)、要はカスタマイズしまくらないと、自分の思ったとおりの仕組みにならない。
で、その中でも、一番懸案だったのが
「ページ分割」
インデックス(トップ)ページはもちろんアーカイブ(カテゴリや月別)のインデックスにおいて、これがないと記事が多くなった場合、古い記事にリーチするための手数が多くなって、ほとんど閲覧してもらえない・・・・ということになってしまうわけで。
そこで、検索して最初に見つけたのが、
MTPaginate
というプラグイン。
見つけたときは狂喜乱舞(まではしてないが)、すべてのアーカイブページに仕込んで、ついでにトップインデックスにも仕込んで、できたーと思った後で重大な問題が発覚。
確かに分割され、ページ繰越のリンクも現れる。
けれど、それは「表面上」のことで、実際はアーカイブの全データを送りつけ、javascriptで一部分を切り出すという手法の為、あるアーカイブでは500k超のページになっていたり。
そのアーカイブの全ページを閲覧するならそれでもいいけれど、一部しか見ない人にそれは無いしそもそもサーバ側にも、ページ表示も重くなってしまう。
ソースコードをすべて読んだわけではないので、自分の使いかた方が悪いのかもしれないけれど、少なくともざっと実装したら結果はそんな感じだった。
理想は、再構築時にスタティックな「ファイルに分割」して、その上でページ繰越のリンクをつけてくれること。
で再検索・・・・・発見!
PageBute
詳細はSKYARC Systemさんのサイトにて
神光臨。実装も簡単。JSも使わない。ありがたや。
出力されるページリンクのマークアップは、単にaタグが並んでいるだけということがスタイルこだわり派の人には、多少ある不満かもしれないが、そこまで手をつけたければ、プラグイン中をいじるまで。(いじるいじらないにか関わらず再配布はしちゃだめよ。)
また、再構築時に「すべてのページ」で再構築すると、アーカイブの分割が行われなかったりする場合があるので、そういう時はアーカイブごとに個別に再構築すると分割される。
それと、「検索結果の分割はできない」とのことだが(動的だしそりゃそうだ)、MT4.2のリリースで検索結果のページ分割がMT側で実装されるらしいので、そこら辺は問題ないかなと。
以上、MT4.12でのお話。
もうすぐ4.2が出るのに、今4.12で再構築してしまったのは時期尚早だったかも。
まーそういうことで、事なきを得たけれども、そもそもこの機能は標準で実装してほしいもので。
