2016年4月13日水曜日

PHPフレームワークMakoで、ページ送り(Pagination)

PHPフレームワークMako(4.5.10)で、ページ送り(Pagination)です。複雑すぎず、簡素すぎず、扱いやすいと思います。

/config/pagination.php
<?php
return
[
  /**
   * ---------------------------------------------------------
   * Key
   * ---------------------------------------------------------
   *
   * $_GET array key used for pagination.
   */

  'page_key' => 'page',

  /**
   * ---------------------------------------------------------
   * Max page link
   * ---------------------------------------------------------
   *
   * Maximum number of pagination links to display.
   */

  'max_page_links' => 5,

  /**
   * ---------------------------------------------------------
   * Items per page
   * ---------------------------------------------------------
   *
   * Number of items to show per page.
   */

  'items_per_page' => 20,
];
use \app\models\Blog;

// データの総数を渡して、ページネーションのインスタンスを作成
$pagination = $this->pagination->create(
  Blog::where('status', '=', 1)->count()
);

$limit = $pagination->limit() ;

$offset = $pagination->offset() ;

$blogs = Blog::where('status', '=', 1)
  ->limit($limit)
  ->offset($offset)
  ->all();

$paginationLinks = $pagination->render('pagination');

実際に設定してみたサイトがこちら

参考サイト
Pagination(Mako Framework Documentation)

0 件のコメント:

コメントを投稿