首页 > 代码库 > Yii框架里用grid.CGridView调用pager扩展不显示最后一页按钮的解决

Yii框架里用grid.CGridView调用pager扩展不显示最后一页按钮的解决

有如下一例,调用zii.widgets.grid.CGridView显示Blog信息,代码如下:

 1 $this->widget(‘zii.widgets.grid.CGridView‘,  2     array( 3         ‘id‘=>‘blog-grid‘, 4         ‘dataProvider‘=>$model->search(), 5         ‘filter‘=>$model, 6         ‘pager‘=>array( 7                 ‘class‘=>‘CLinkPager‘,//定义要调用的分页器类,默认是CLinkPager 8                 // ‘cssFile‘=>false,//定义分页器的要调用的css文件,false为不调用 9                 //‘header‘=>‘转往分页:‘,//定义的文字将显示在pager的最前面10                 //‘footer‘=>‘尾页‘,//定义的文字将显示在pager的最后面11                 ‘firstPageLabel‘=>‘首页‘,//定义首页按钮的显示文字12                 ‘lastPageLabel‘=>‘尾页‘,//定义末页按钮的显示文字13                 ‘nextPageLabel‘=>‘下一页‘,//定义下一页按钮的显示文字14                 ‘prevPageLabel‘=>‘前一页‘,//定义上一页按钮的显示文字15                 ‘htmlOptions‘=>array(‘class‘=>‘yiiPager‘),17             ),18         ‘columns‘=>array(19             ‘blogid‘,20             array(21                   ‘name‘=>‘pid‘,22                   ‘value‘=>‘$data->pcate->title‘,23                  ),24             array(25                   ‘name‘=>‘cid‘,26                   ‘value‘=>‘$data->cate->title‘,27                  ),28             ‘title‘,29             array(30                 ‘class‘=>‘CButtonColumn‘,31             ),32         ),33     )34 );

如代码所示,这里已经定义了firstPageLabel 与 lastPageLabel,但是预览的时候就是不显示,后来通过Firebug发现,是css定义的问题:

/** * Hide first and last buttons by default. */ul.yiiPager .first,ul.yiiPager .last{    display:none;}

Yii 默认是把“首页”,“尾页”两个按钮隐藏不显示的。

可以通过修改这个样式文件,问题是,这个样式文件是在Yii 的"assets"文件夹下的,也就是 Yii 的资源文件夹,该文件夹下的文件都是在创建webapp时,自动生成,如果你现在去把这个文件夹的所有文件全部删除,你再通过浏览器打开这个webapp,刷两次试试,是不是那些被删除的文件又重新被生成了,这样修改治标不治本。

只有找到模板文件才是根本,搜一下,发现这个文件就在Yii框架的 /web/widgets/pagers/pager.css 这个路径下,修改这个文件,就万事大吉了,去删除"assets"文件夹下的文件,访问一下网站,就是想要的了.