分页功能的实现

YY框架的分页原理借鉴了Rails框架的kaminari插件,即方便调用又不失个性化。详细的调用规则请参见分页类的API。下面做一个简单的分页展示。

index.php 内容修改如下:

<?php
$note = new Model('notes');
$pagination = new Pagination(8, 7);
$notes = $pagination->model_list($note);
?>

Pagination(8, 7)的构造方法的意思是每页显示8条记录,每页允许出现的最多分页页面的链接数为7。

model_list方法传入要被分页的模型,模型将查询的工作交由分页控制类执行。

index.html 内容修改如下:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>CRUD测试-列表</title>
<style type="text/css">
</style>
</head>
<body>
{T navigation}
<table>
    <tr>
        <th>{$note->lable('title')}</th>
        <th>{$note->lable('author')}</th>
        <th>{$note->lable('theme')}</th>
        <th>{$note->lable('postdate')}</th>
        <th>删除</th>
        <th>编辑</th>
    </tr>
    {loop $notes as $n}
    <tr>
        <td><a href="show-{$n->id}.html">{$n->title}</a></td>
        <td>{$n->author}</td>
        <td>{$n->field_text('theme')}</td>
        <td>{date('Y-m-d',$n->postdate)}</td>
        <td><a href="javascript:;" onclick="if(confirm('确定要删除吗?')){ goto('delete-{$n->id}.html');}">删除</a></td>
        <td><a href="edit-{$n->id}.html">编辑</a></td>
    </tr>
    {/loop}
    <tr></tr>
</table>
<center>
{P}
</center>
</body>
</html>

{P}标签是通用分页标签的标识。 更多关于分页的详细信息,请参阅视图中的分页

多插入几条数据,浏览器访问http://www.yyuc.net/notes/你会看到分页效果,如此的简单不是吗?