MTのレスポンシブデザインテンプレートの「カテゴリ別記事リスト」は動的ページ分割をする

2014年2月11日

MovableTypeのレスポンシブデザイン対応のテンプレート「Rainier」と「Eiger」、
このテンプレートのアーカイブテンプレート「カテゴリ別ブログ記事リスト」は、標準でページ分割をする。

検索やタグで使われている「mt-search.cgi」を使った動的ページ分割である。
ちなみに動的分割ページURLはとても長い。

具体的には、
・1ページ目:静的ページ アーカイブマッピングパスのURLが出力される。
通常URLは、category/sub-category/index.htmlもしくはcategory/sub_category/index.html

・2ページ目:動的ページ
hogehoge.com/mt/mt-search.cgi?IncludeBlogs=x&template_id=xx&limit=10&archive_type=Category&category=xx&page=2

・3ページ以降は、末尾URLのpage=3となり、以降ページ数に置き換わる。

ページナビゲーションは、記事下方に以下のようなリンクが表示される。

プラグインにより「カテゴリ別アーカイブページ」のページ送りナビゲーション

このURL出力は、テンプレートの開始12行にに書かれている。

「カテゴリ別記事リスト」のページ分割ロジック

今までのテンプレートでは、最新カテゴリ記事から指定した件数までの記事のみが表示されていた。

そのため、過去の記事をみるためには、
・すべての件数を表示
・ページ分割プラグインを利用して、ページ送りで静的ページを表示

他のCMSと異なる強みである静的ページを出力するMTにとって、この部分が弱点でもあったところである。
ただ、静的ページにあくまでこだわるならば、代表的なページ分割プラグイン「PageBute」は優れたプラグインであることも確かだ。

このHPで利用している「PageBute」のページ送りナビゲーション

「カテゴリ別アーカイブページ」のページ送りナビゲーション

でなにが言いたいかというと、静的ページでのページ分割を行って欲しかったということである。

まあ、個人的な見解はさておいて、この動的ページ分割について。

レスポンシブデザイン対応ということで、非力なデバイスや通信環境にとって、できるだけページ(容量)を軽くした方法をとることが必要である。
そのためにも、ページ分割は必須である。
その対処法としては、とても有難い機能である。

問題点として、
(1) URLが長すぎる
(2) 複雑なカスタマイズによる表示の場合は、出力速度に影響する。

実際、(2)でカスタマイズしたテンプレートからの出力でタイムアウトが起こってしまった。
これはイレギュラーだとしても、長いURLは改善の余地はあるであろう。

ということで、安定度を重視するなら「PageBute」ブラグインの選択も、レスポンシブデザイン対応デザインでもやはり必要になってくる。
とはいえ、WPのようにプラグイン設置が容易でないところもMTの弱点。

用途によって、動的ページ分割でやりすごすこともありではある。