用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4321|回复: 6
收起左侧

[讨论/交流] pagination分页类的一个逻辑问题

[复制链接]
发表于 2012-11-18 12:07:40 | 显示全部楼层 |阅读模式
网上都说CI的分页类很不好,都是什么自己写的类
我呢比较喜欢原生 于是就投进了原生分页的苦海
进入主题,先看代码:
PHP复制代码
        public function __construct($params = array())        {
                if (count($params) > 0)
                {
                        $this->initialize($params);
                }
 
                if ($this->anchor_class != '')
                {
                        $this->anchor_class = 'class="'.$this->anchor_class.'" ';
                }
 
                log_message('debug', "Pagination Class Initialized");
        }
 
        function initialize($params = array())
        {
                if (count($params) > 0)
                {
                        foreach ($params as $key => $val)
                        {
                                if (isset($this->$key))
                                {
                                        $this->$key = $val;
                                }
                        }
                }
        }
 
复制代码

华丽丽的发现对anchor_class的处理是在__construct中完成的,那么如果我在类初始化之后再定义了anchor_class并调用initialize(手册里面介绍的就是这种方法)就会发现anchor_class没有被处理就插入到生成的代码中,于是结果你懂的

引用手册:
PHP复制代码
$this->load->library('pagination');
 
$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20;
$config['anchor_class'] = 'link'; //我根据类推添加,这没问题吧  o_O
 
$this->pagination->initialize($config);
 
echo $this->pagination->create_links();
复制代码

 楼主| 发表于 2012-11-20 08:47:58 | 显示全部楼层
没一个人回个声儿的 我心虚了 =。=
发表于 2012-11-20 09:45:47 | 显示全部楼层
友情帮顶。。
也碰到分页类的问题
发表于 2012-12-4 10:08:39 | 显示全部楼层
我貌似使用他的原生分页类的过程中从来没出现过问题,我只用手册上提到的几个属性。我的目标很简单,就是要得到普通的分页字符串,然后再进行高级处理,这样不容易出问题,高级处理都是放在扩展里进行,而php作为一种专门处理字符串的语言,这对他而言太容易了,搜索、替换、正则简单使用下就能达到目标。我一直提醒自己路走的再远也不要丢下原来的自己,也不要忘记出发时的目标。
话说,我也喜欢原生的东西,不愿意改变,所以如果用不起来,我就写扩展
 楼主| 发表于 2012-12-5 15:48:42 | 显示全部楼层
qingxin 发表于 2012-12-4 10:08
我貌似使用他的原生分页类的过程中从来没出现过问题,我只用手册上提到的几个属性。我的目标很简单,就是要 ...

嗨嗨 我喜欢你这种风格的球员 握个爪
发表于 2014-10-20 10:01:53 | 显示全部楼层
只有手动添加了
$config['anchor_class'] = 'class="link" ';
或者改封装标签,我比较喜欢把样式写在封装标签上。

本版积分规则