在 Yii 中更改页面标签?
我想更改 Yii 中的页面标签.
I would like to change the the labels of pages in Yii.
我使用 Zii.widegt.CListView
来显示项目列表.yii 分页的默认结构是 [previous] 1 2 4 5 6 7 [next]
需要的结构是 <1....10 11 12 13 14 ....40 >
.
I used Zii.widegt.CListView
to show the list of items. The default structure of yii pagination is [previous] 1 2 4 5 6 7 [next]
required structure is < 1....10 11 12 13 14 ....40 >
.
我阅读了如何自定义Yii 中寻呼机的标签?",这很有帮助,但是如何将 firstPageLabel
显示为页码 1 而不是 <<
和 lastPageLabel
为 40 而不是 >>
.
I read "How can I customize the labels for the pager in Yii?" which is helpful, but how can I show the firstPageLabel
as page number 1 instead of <<
and lastPageLabel
as 40 instead of >>
.
推荐答案
如果您找不到将总项目数(即 40)传递给 lastPageLabel
覆盖的方法,您将需要覆盖 CLinkPager 类才能自动完成这项工作.$lastPageLabel 在当前实现中是静态的,不提供对itemCount"等变量的访问.可以看到代码:
If you can't find a way to pass in the total item count (i.e. 40) to the lastPageLabel
override, you will need to override the CLinkPager class to have this work automatically. The $lastPageLabel is static in the current implementation and does not provide access to variables like "itemCount". You can see the code:
$buttons[]=$this->createPageButton($this->lastPageLabel,$pageCount-1,self::CSS_LAST_PAGE,$currentPage>=$pageCount-1,false);
它只是回显 $this->lastPageLabel
,它是静态文本.
It just echos $this->lastPageLabel
, which is static text.
如果你制作了一个新的寻呼机(比如,MyLinkPager),像这样使用它:
If you make a new pager (called, say, MyLinkPager), use it like so:
$this->widget('zii.widgets.CListView', array(
'dataProvider' => $categoryProjects,
'itemView' => '_itemDetailsView',
'ajaxUpdate' => false,
'pager' => array(
'class' => 'MyLinkPager', // here is your pager
'firstPageLabel' => '<<',
'prevPageLabel' => '<',
'nextPageLabel' => '>',
'lastPageLabel' => '>>',
),
));
相关文章