本文へジャンプ

PowerCMSでページ分割!

PowerCMS

こんにちは、スズキです。

今回は、Webサイト構築のプロジェクトで使用している「PowerCMS」を使ったページ分割の方法を解説してみたいと思います。

ちなみにPowerCMSとは、Movable Typeを高機能CMSにするプラグインセットです。
様々な機能がありますが、その中の一つとしてページ分割プラグイン「Pager」も標準で用意されています。

アーカイブテンプレートにて分割機能をONにする

アーカイブテンプレートにて分割機能をONにする

ページ分割をしたいアーカイブテンプレートの編集画面の「このアーカイブを分割する」にチェックを入れます。

<mt:Entries>を分割する

<mt:Entries>タグにlimitとoffsetモディファイアを指定します。
「limit」には1ページ内に表示したい数を、「offset」には0を指定してください。
※<mt:Entries>タグに付けた絞り込み系のモディファイアは無視されます。

<mt:Entries limit="10" offset="0">
<$mt:Include module="エントリーユニット"$>
</mt:Entries>

ページナビゲーションを作る

プラグインのオリジナルタグである<mt:Pager>を使って、ページナビゲーションを作ります。

<mt:Pager>
<mt:IfPagerHeader>
<div class="pagingNav">
<ul>
<mt:IfPagerPrev><li class="prev"><a href="<$mt:PagerPrevLink$>">前のページへ</a></li></mt:IfPagerPrev>
</mt:IfPagerHeader>
<$mt:PagerCurrent setvar="CurrentNum"$>
<$mt:PagerCounter setvar="CountNum"$>
<mt:If name="CurrentNum" eq="$CountNum">
<li><span class="current"><$mt:Var name="CountNum"$></span></li>
<mt:Else><li><a href="<$mt:PagerLink$>"><$mt:Var name="CountNum"$></a></li></mt:Else>
</mt:If>
<mt:IfPagerFooter>
<mt:IfPagerNext><li class="next"><a href="<$mt:PagerNextLink$>">次のページへ</a></li></mt:IfPagerNext>
</ul>
<!-- //.pagingNav --></div>
</mt:IfPagerFooter>
</mt:Pager>   

テンプレートにある一番最初の<mt:Entries>を対象として処理します。
<mt:Entries>タグや、<mt:Pager>タグがインクルード先に記述されていると正常に動きません。
ページナビゲーションを共通化したいのですが、ココはぜひ改善して欲しいですね...。

現在のページを判別してスタイルを変えたい

今表示中のページを判別するタグが用意されていないので、自作します。
<$mt:PagerCurrent$>で現在のページ数、<$mt:PagerCounter$>でページ分割総数を、それぞれ変数に格納して比較します。

<$mt:PagerCurrent setvar="CurrentNum"$>
<$mt:PagerCounter setvar="CountNum"$>
<mt:If name="CurrentNum" eq="$CountNum">
<li><span class="current"><$mt:Var name="CountNum"$></span></li>
<mt:Else><li><a href="<$mt:PagerLink$>"><$mt:Var name="CountNum"$></a></li></mt:Else>
</mt:If>

それでは、ステキなMTライフを。

Recent Entries
MD EVENT REPORT
What's Hot?
日本各地の酒蔵との直取引により厳選して仕入れた日本酒を世界に販売
こんな僕たちの仲間に入りませんか?
Movable Type AWS 移管&アップグレード サービス
SNS・ブログ・メールからの流入数が一目でわかる
50,000円からのシネマグラフ(Cinemagraph)制作
TAKUYAが教えるギター・レッスン
KenKenが教えるベースギター教則アプリ
SNS連動型クチコミ拡散システム「レビュー ジェネレーター サービス」
1時間1万円の撮影スタジオ
すべてのコンテンツ/プラットフォームを、ひとつのコンテンツ管理システムで。