YII 重写分页器 CLinkPager ,分页器和换页的显示方式完全自定义

自定义的分页器类放在哪里?

有两个位置可以放,

第一种是放在 protected/extensions 中,在使用是import进来,或在config文件中import进来;

第二种是放在 protected/components 中,作为组件存在,不需要import

用派生方式是最好的

class MyPager extends CLinkPager

入口函数是:public function run() ,当显示分页器时run()被调用,里面的输出就会显示在相应位置;

其他的完全自定义,如果你不知道上一页、下一页、首页、尾页、总页数、当前页码等信息,可以参考CLinkPager的源码,yii/frameworks/web/widgets/pagers/CLinkPager.php

调用方式

在View里的相应widget,定义pager的class为自定义的分页器类名即可,参考:

$this->widget('zii.widgets.CListView', array(
        'dataProvider'=>$dataProvider,
        'itemView'=>'_view_t',
        'pager'=>array(
            'class'=>'MyPager',
        )
    ));
若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏