Ploneのページネーション処理

Ploneは,ページネーション処理を簡単に実装できる仕組みがあります.

plone.batching というモジュールが標準で組み込まれており,テンプレートに数行書くだけで簡単に利用できます.

テンプレートでバッチ処理したいリスト要素を渡すことで使えます.

 
...

上記の場合,resultsのリストを20件ごとにページ分割しています.

また,Batchクラスを生成するときに,引数を細かく指定することができます.

Batch(sequence, size, start, end, orphan, overlap, pagerange)
  • sequence

  • ページネーションしたいリストを渡します.

  • size

  • ページあたりの表示件数を指定します.

  • start

  • 表示ページを指定します.default=0

  • end

  • default=0

  • orphan

  • 最後のページの数がこのサイズ以下の場合,前のページに含めます.default=0

  • overlap

  • ページでオーバーラップする数を指定します.default=0

  • pagerange

  • ページ番号を表示するレンジを決めます.default=7,現在が5ページ目の時に3,4,5,6,7を表示します.

とまあこんな感じで簡単に実装できます.