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"文件夹下的文件,访问一下网站,就是想要的了.