smallrong 发表于 2010-1-2 15:27:05

ci的分页修改

ci中自带的分页办法,如果是第2页,就没有首页出现了。。
一般情况下,页面的好看、方便,都需要任何时候都有首页、尾页出现。。
例如:
首页上一页 12345 下一页 尾页
现在我要任何时候都要出现 首页上一页   下一页 尾页
需要修改源文件Pagination.php 在system的libraries文件夹中

这个是first要修改的地方
/*这个是原来的写法,现在修改一下
// Render the "First" link
if($this->cur_page > ($this->num_links + 1))
{
   $output .= $this->first_tag_open.'<a href="'.$this->base_url.'">'.$this->first_link.'</a>'.$this->first_tag_close;
}
      */
      // Render the "First" link 新增,不是首页都一直显示,而且有超链接
if($this->cur_page > 1)
{
   $output .= $this->first_tag_open.'<a href="'.$this->base_url.'">'.$this->first_link.'</a>'.$this->first_tag_close;
}
      // Render the "First" link 如果是首页,同样显示,但是没有超链接功能
if($this->cur_page == 1)
{
   $output .= $this->first_tag_open.$this->first_link.$this->first_tag_close;
}
然后到previous,注意,这里是在原来的下面添加,不是修改原来的
// Render the "previous" link 注意:这里是新增不是替换原来的啊。如果为第一页的时候,同样显示上一页标签,但是没有超链接
if($this->cur_page == 1)
{
   $i = $uri_page_number - $this->per_page;
   if ($i == 0) $i = '';
   $output .= $this->prev_tag_open.$this->prev_link.$this->prev_tag_close;
}
再到next,注意,这里是在原来的下面添加,不是修改原来的
// Render the "next" link 注意:这里是新增不是替换原来的啊。如果是最后一页,同样显示,只是没有超链接
if ($this->cur_page == $num_pages)
{
   $output .= $this->next_tag_open.$this->next_link.$this->next_tag_close;
}
最后是last了。。
/*这个是原来的写法,这里需要替换哦。
// Render the "Last" link
if (($this->cur_page + $this->num_links) < $num_pages)
{
   $i = (($num_pages * $this->per_page) - $this->per_page);
   $output .= $this->last_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->last_link.'</a>'.$this->last_tag_close;
}
      */
      
      // Render the "Last" link 如果不是最后一页,同样显示
if ($this->cur_page < $num_pages)
{
   $i = (($num_pages * $this->per_page) - $this->per_page);
   $output .= $this->last_tag_open.'<a href="'.$this->base_url.$i.'">'.$this->last_link.'</a>'.$this->last_tag_close;
}
      
      // Render the "Last" link 如果是最后一页,同样显示,但是没有超链接
if ($this->cur_page == $num_pages)
{
   $i = (($num_pages * $this->per_page) - $this->per_page);
   $output .= $this->last_tag_open.$this->last_link.$this->last_tag_close;
}
搞掂了。。注意备份原来文件啊。。觉得不合适就覆盖还原就可以了。。

^淡如清风 发表于 2010-1-3 15:16:09

刚搜索就看见了,收藏

hdusec 发表于 2010-1-9 11:06:43

正想改这个类实现这样的功能呢。。。
非常感谢!

longjianghu 发表于 2010-1-15 19:55:55

好东东:victory:

Fanbin 发表于 2010-1-17 00:46:09

CI 编程规范不建议直接修改system里的文件。
可以把复制一份放到application/library里然后改这个。

z445619791 发表于 2010-1-21 17:23:35

我的神啊 我爱死你了

lidong0101 发表于 2010-2-24 09:08:08

不知道是你的ci版本问题还是怎么回事 你写的东西很蹊跷
完全找不到你说的这里改那里补

ivanlw 发表于 2010-2-24 18:00:54

我找到这些代码了……楼上的再仔细看看吧

yffeel 发表于 2010-3-23 20:28:46

做个记号!

mare 发表于 2010-4-4 15:36:57

顶一个:victory:
页: [1] 2 3
查看完整版本: ci的分页修改