システム開発ブログ/ 事業開拓部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

【MTページ分割】各ページに「全xx件中 x件~x件」と表示させる

黒木
黒木 (2010年2月 2日 06:05)
事業開拓部 / Movable Type

ブログ記事の一覧を複数ページに分け、
ページごとに「全78件中 20件~40件」というナビゲーションをつける方法をご紹介します。

ページの分割には「PageBute」プラグインを使用します。
http://www.skyarc.co.jp/engineerblog/entry/2642.html

ダウンロードしたら、「PageBute.pl」ファイルをMovable Typeの
「plugins」ディレクトリにアップロードするだけです。

ソースはこのようになります。

--------------------------------------------------------
<mt:SetVar name="segment" value="20"><mt:Ignore><!-- ここで1ページに表示する件数を指定 --></mt:Ignore>
<mt:SetVar name="EntryCounter" value="0">
<mt:SetVar name="DisplayKensuFirst" value="0">
<mt:PageContents count="$segment" show_always="0"><mt:Entries lastn="9999">
  <mt:SetVar name="DisplayKensuFirst" op="+" value="1">
  <mt:SetVarBlock name="DisplayKensuLast"><mt:GetVar name="EntryCounter" op="+" value="$segment"></mt:SetVarBlock>
    <mt:Ignore><!-- 件数表示部 --></mt:Ignore>
    <mt:If name="EntryCounter" op="%" value="$segment" eq="0">
      <mt:SetVarBlock name="DisplayKensuAll"><$mt:EntriesCount$></mt:SetVarBlock>
      <mt:SetVarBlock name="DisplayKensuNow">
        <$mt:GetVar name="DisplayKensuFirst"$>件~<mt:If name="DisplayKensuAll" le="$DisplayKensuLast" ><$mt:GetVar name="DisplayKensuAll"$><mt:Else><$mt:GetVar name="DisplayKensuLast"$></mt:If>件
      </mt:SetVarBlock>
      <div class="kensu">全<$mt:GetVar name="DisplayKensuAll"$>件中 <$mt:GetVar name="DisplayKensuNow"$></div>
    </mt:If>
    <div class="content">
       <!-- ここに一覧表示するブログ記事の概要が入ります -->
    </div>
  <mt:SetVar name="EntryCounter" op="++">
  <$mt:PageSeparator$>
</mt:Entries>
</mt:PageContents>
--------------------------------------------------------

PageBute専用のタグ(拡張タグ)
mt:PageContents
mt:PageSeparator


初めは、プラグインの拡張タグ(mt:PageCount)を用いてこのように件数表示させようと考えていました。
ところが、実はPageButeの拡張タグは"mt:If"などの条件文や数式に用いることができません。

プラグインが実行されるのは、htmlを生成する直前のため、
その前に実行される条件文では値がない状態だからです。

そこで、PageButeはあくまでページを分割するのに用い、あとはMovable Typeのデフォルトのタグで実行するようにしています。
変数"segment"のvalueの値を変えれば、1ページに一覧表示する件数の上限を変えることができます。

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。