PowerCMSはアルファサード様が開発されているMovable Typeを高性能・高機能化する製品(プラグインセット)です。
一般企業、金融機関、官公庁や大学など多くの機関・団体に導入されております。
本当に多くのプラグインが搭載されている多機能な製品なのですが、製作中にページを分割するプラグイン「Pager」で、ハマッてしまいました。
驚いたのですが、Pagerにはページ送りの表示数を制限する機能がありません。記事が多い場合ページ送りが30個とか表示されてしまう…
PowerCMSに関する情報が少ないので、ちょっとした事でつまづくと本当に困ります。カスタマイズ方法などサイトに掲載されていればいいのにと思います。また早く標準機能として実装して欲しいところです。
以下、Pagerのページ送りの表示数を制限する方法の覚え書きです。
例はページ送りを10個表示にし、2ページ目に移動した場合は、2~11までが表示する仕様です。テンプレートにページ送りの件数を制限するための変数を用意する形になります。
[html]
<mtpager>
<mtifpagerheader>
<mtifpagerprev>
<span><a class="link_before" href="<MTPagerPrevLink>">« 前</a></span>
</mtifpagerprev>
<!–ページ送りの件数を制限するための変数–>
<$MTPagerCurrent setvar="currnet"$>
<$MTPagerTotal setvar="total"$>
<$MTGetvar name="currnet" op="-" value="4" setvar="min"$>
<$MTGetvar name="currnet" op="+" value="5" setvar="max"$>
<mtif le="10" name="max">
<$MTSetVar name="max" value="10"$>
</mtif>
</mtifpagerheader>
<!–変数 min 以上 max 以下のページのみ出力–>
<mtif ge="$min" tag="PagerCounter">
<mtif le="$max" tag="PagerCounter">
<mtifpagercurrent>
<span class="current_page"><$MTPagerCounter$></span>
<mtelse>
<a class="link_page" href="<MTPagerLink>"><$MTPagerCounter$></a>
</mtelse>
</mtifpagercurrent>
</mtif>
</mtif>
<mtifpagerfooter>
<mtifpagernext>
<span><a class="link_next" href="<MTPagerNextLink>">次 »</a></span>
</mtifpagernext>
</mtifpagerfooter>
</mtpager>
[/html]
普段はページ送りをスカイアーク様のPageButeを利用しています。こちらはページ送りの表示数を制限する機能が標準でありますので、基本的にはPageButeを利用すれば良いのではないかと思われます。今回はPowerCMSで携帯3キャリア / スマートフォン / PC 対応のマルチデバイステンプレートを利用しており、この環境ではPageButeが利用出来ない部分がありPagerを導入する必要がありました。
スカイアーク様もMTCMSというMovable Typeを高性能・高機能化する製品(プラグインセット)を開発されています。