【问题标题】:Yii CListView Pagination customisingYii CListView 分页自定义
【发布时间】:2012-06-30 06:47:47
【问题描述】:

有没有办法自定义 Yii CListView 分页对象显示

前 1 页,共 n 页 下一页

而不是

上一个 1,2,3 下一个?

谢谢

【问题讨论】:

  • 不是答案,我需要它说当前页面的最大页面数
  • 那么请用正确的英文重写你的问题,因为我不知道你在找什么。
  • 如果你懂英语,那是有道理的,这是一个非常简单的问题。如果您对这个问题没有任何用处,为什么不在其他地方拖钓呢?
  • 你必须扩展 clinkpager,目前没有选项

标签: php pagination yii


【解决方案1】:

您不能通过简单地将参数传递给 CLinkPager 来修改其输出来做到这一点。所以,没有更优雅的方法

但是您可以通过扩展 CLinkPager 来非常轻松地覆盖 Pager 类,只需按以下方式更改 createPageButtons()-Method:

Yii::import('web.widgets.pagers.CLinkPager');
class YourLinkPager extends CLinkPager{
    /**
 * Creates the page buttons.
 * @return array a list of page buttons (in HTML code).
 */
protected function createPageButtons()
{
    if(($pageCount=$this->getPageCount())<=1)
        return array();

    list($beginPage,$endPage)=$this->getPageRange();
    $currentPage=$this->getCurrentPage(false); // currentPage is calculated in getPageRange()
    $buttons=array();

    // first page
    $buttons[]=$this->createPageButton($this->firstPageLabel,0,self::CSS_FIRST_PAGE,$currentPage<=0,false);

    // prev page
    if(($page=$currentPage-1)<0)
        $page=0;
    $buttons[]=$this->createPageButton($this->prevPageLabel,$page,self::CSS_PREVIOUS_PAGE,$currentPage<=0,false);

    /* 
             * !!! change has been made here !!!
             */
    $buttons[]='<li>Page '.$this->getCurrentPage(false).' of '.$this->getPageCount().'</li>';

    // next page
    if(($page=$currentPage+1)>=$pageCount-1)
        $page=$pageCount-1;
    $buttons[]=$this->createPageButton($this->nextPageLabel,$page,self::CSS_NEXT_PAGE,$currentPage>=$pageCount-1,false);

    // last page
    $buttons[]=$this->createPageButton($this->lastPageLabel,$pageCount-1,self::CSS_LAST_PAGE,$currentPage>=$pageCount-1,false);

    return $buttons;
}
}

【讨论】:

  • +1,除了一些错误(我认为是错别字),这应该可以工作
【解决方案2】:

【讨论】:

  • 有没有更优雅的方法,将参数传递给 ClistView 或 pager 类?
  • 这个没有回答,只是你在论坛里的原始回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-09
  • 2012-08-24
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多