|
先说个题外话:老版本的ci只能用offset分页,ci2.1已经带了页码分页了,很好用。
对应的参数是: var $use_page_numbers = FALSE; // Use page number for segment instead of offset 这里只要传TRUE就能用页码分页了。 但是我想请教一下,默认的分页都OK,加入要带上其他参数呢?比如搜索结果页面加分页不需要考虑SEO优化,其实用最古老的方式都行?请问你们是怎么弄的。 我现在的是类似/search.php?q=搜索的词&page=1 | |
|
本帖最后由 huboo82 于 2011年12月22日 15:18 编辑
参考django的paginator,用php可以输出一个包含分页页码数据的数组,然后在view里自由组织。比如: PHP复制代码 复制代码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; ?> | |
|
不错,封装成一个单独的class,直接调用
| |