如何在Yii中自定义寻呼机的标签?

S K*_*S K 7 php paging pagination yii

我是Yii的新手.我想实现自定义分页.我想改变寻呼机的外观.如何更改寻呼机链接的标签?

我希望链接看起来像这样:

<<  <  1  2  3  4  >  >>
Run Code Online (Sandbox Code Playgroud)

而不是他们的默认外观,这是这样的:

[first] [previous]  1  2  3  4  [next] [last]
Run Code Online (Sandbox Code Playgroud)

CListView用来显示我设置的数据,如下所示:

$this->widget('zii.widgets.CListView', array(
            'dataProvider' => $categoryProjects,
            'itemView' => '_itemDetailsView',           
            'ajaxUpdate'=>false,
        ));
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何开始呢?我看过一些帖子但无法获得正确的信息.

提前致谢.

Jon*_*Jon 12

你需要设置的pager属性CListView.默认情况下,这是一个CLinkPager; 你不需要改变它(这个组件满足你的需求),但你需要配置它:

$this->widget('zii.widgets.CListView', array(
            'dataProvider' => $categoryProjects,
            'itemView'     => '_itemDetailsView',
            'ajaxUpdate'   => false,
            'pager'        => array(
                                'class'          => 'CLinkPager',
                                'firstPageLabel' => '<<',
                                'prevPageLabel'  => '<',
                                'nextPageLabel'  => '>',
                                'lastPageLabel'  => '>>',
                              ),
        ));
Run Code Online (Sandbox Code Playgroud)

更新:如果要将上述自定义配置"烘焙"到应用程序中的所有列表视图,则必须创建一个CustomListView派生自的新组件CListView.所以你需要这个课程:

Yii::import('zii.widgets.CListView');

class CustomListView extends CListView {
    public function init() {
        parent::init();

        $this->pager = array( 
                            'class'          => 'CLinkPager', 
                            'firstPageLabel' => '<<', 
                            'prevPageLabel'  => '<', 
                            'nextPageLabel'  => '>', 
                            'lastPageLabel'  => '>>', 
                       );
    }
}
Run Code Online (Sandbox Code Playgroud)

包含此内容后,您只需将其CustomListView用作列表小部件而不是zii.widgets.CListView.