MTPaginateでページ分割(MT4.2)

何日か前から各ページのサイドエリアにiPhone特設コーナーを設置しています。

iPhoneの使用レポートと最新情報

これですね。iPhoneの情報を探しにきた人が、すんなりとお目当てのコンテンツに行きつけるようにという、少しばかりの気遣いです。

で、これをどのように動かしているかというと、実は「iPhone」というタグが付いているエントリーをmt-search.cgiを利用して抽出する方法で絞り込んでいます。検索窓に「iPhone」と打ち込んだ場合の「検索結果ページ」を利用しているということですね。ですから、意図的に抽出対象のエントリーに同じタグを使うことで、そのほかの特設ページを追加することも容易です。

ただ、この方法だと常に全ての該当エントリーを抽出してしまうために、ページがものすごい長さになってしまうという欠点があります。そこで、MTPaginateプラグインを使ってページ分割をしてみることにしました。ちょうどphp化してあるし、比較的楽な作業でした。

具体的な記述はこんな感じです。

<MTPaginate mode="cgi">
<MTPaginateContent max_sections="5">
  <MTSearchResults>
    <div class="search-results-container">
      <$MTInclude module="ブログ記事の概要"$>
    </div>
    <$MTPaginateSectionBreak$>
  </MTSearchResults>
</MTPaginateContent>
<MTPaginateIfMultiplePages>
  <div class="paginate">
    <MTPaginateIfPreviousPage_>
      <a href="<$MTPaginatePreviousPageLink$>">前のページ</a>
    </MTPaginateIfPreviousPage_>
    <$MTPaginateNavigator$>
    <MTPaginateIfNextPage_>
      <a href="<$MTPaginateNextPageLink$>">次のページ</a>
    </MTPaginateIfNextPage_>
  </div>
</MTPaginateIfMultiplePages>
</MTPaginate>

導入に成功すれば、これまでずら~っと全てが抽出されていた検索結果がちゃんと5つごとに分割されているかと思います。ちなみにmax_sectionsの数字を弄れば3ごととか10ごとに分割することも可能です。

ちょっと説明がわかりづらいかもしれませんが、半分は個人的メモの意味もあるのでごかんべんを!さりげなく、詳細な説明のある小粋空間さんに誘導しておきますwよろしくお願いいたします。

コメントを書く

Your email is never shared. * 印の項目は必須項目です。

*
*