|
发表于 2011-12-22 15:17:46
|
显示全部楼层
本帖最后由 huboo82 于 2011-12-22 15:18 编辑
参考django的paginator,用php可以输出一个包含分页页码数据的数组,然后在view里自由组织。比如:
PHP复制代码
$paginator = array(
'has_next' => FALSE,
'has_previous' => FALSE,
'page_num' => FALSE,
'page' => FALSE,
'page_range' => array()
);
复制代码
has_next和has_previous是判断是否有下一页和上一页,page_num是总页数,page是当前页,page_range是个数组,显示页码范围比如一个3页array(1,2,3)。然后在视图里可以随意写分页了。
例如这样的:
PHP复制代码
<?php if($pagery): ?>
<div class="pagination">
<ul>
<?php if($pagery['has_previous']): ?>
<li class="prev"><a href="<?php echo site_url('admin/posts/?page=' . ($pagery['page'] - 1) . '&status=' . $status . '&mid=' . $mid . '&q=' . $q); ?>"><?php echo lang('previous'); ?></a></li>
<?php else: ?>
<li class="prev disabled"><a href="javascript:void(0)"><?php echo lang('previous'); ?></a></li>
<?php endif; ?>
<?php foreach($pagery['page_range'] as $item): ?>
<?php if($pagery['page'] == $item): ?>
<li class="active"><a><?php echo $item; ?></a></li>
<?php else: ?>
<li><a href="<?php echo site_url('admin/posts/?page=' . $item . '&status=' . $status . '&mid=' . $mid . '&q=' . $q); ?>"><?php echo $item; ?></a></li>
<?php endif; ?>
<?php endforeach; ?>
<?php if($pagery['has_next']): ?>
<li class="next"><a href="<?php echo site_url('admin/posts/?page=' . ($pagery['page'] + 1) . '&status=' . $status . '&mid=' . $mid . '&q=' . $q); ?>"><?php echo lang('next'); ?></a></li>
<?php else: ?>
<li class="next disabled"><a href="javascript:void(0)"><?php echo lang('next'); ?></a></li>
<?php endif; ?>
</ul>
</div>
<?php endif; ?>
复制代码 |
|