数据库查询时可以直接用 Db 的 paginate 方法

    1. // 查询状态为1的用户数据 并且每页显示10条数据
    2. $users = Db::name('user')->where('user_status',1)->paginate(15);
    3. // 把分页数据赋值给模板变量users
    4. $this->assign('users', $users);
    5. $this->assign('page', $users->render());//单独提取分页出来
    6. // 渲染模板输出
    7. return $this->fetch();

    也可以使用模型的分页查询代码:

    1. // 查询状态为1的用户数据 并且每页显示10条数据
    2. $users = UserModel::where('user_status',1)->paginate(15);
    3. // 把分页数据赋值给模板变量users
    4. $this->assign('users', $users);
    5. $this->assign('page', $users->render());//单独提取分页出来
    6. // 渲染模板输出
    7. return $this->fetch();

    在模板中输出分页数据

    1. <div>
    2. <foreach name="users" item="vo">
    3. <div>{$vo.user_nickname}</div>
    4. </foreach>
    5. <div class="pagination">{$users->render()}</div>
    6. <div class="pagination">{$page|default=''}</div>

    生成的分页 html 结构就是标准 bootstrap 分页结构

    1. <ul class="pagination">
    2. <li class="disabled"><span>«</span></li>
    3. <li class="active"><span>1</span></li>
    4. <li><a href="/portal/admin_article/index.html?page=2">2</a></li>
    5. <li><a href="/portal/admin_article/index.html?page=2">»</a></li>
    6. </ul>

    原文: https://www.thinkcmf.com/docs/cmf/分页.html