加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

yii – 总是在CGridView上显示寻呼机?

发布时间:2020-12-13 22:32:23 所属栏目:PHP教程 来源:网络整理
导读:我已经构建了一个CGridView菜单,我想始终显示寻呼机 (即使它显示所有数据并且不需要导航) 这是我目前的代码: $this-widget('zii.widgets.grid.CGridView',array('dataProvider'=$search,'columns' = $columns,'itemsCssClass' = 'list_table','template' =
我已经构建了一个CGridView菜单,我想始终显示寻呼机
(即使它显示所有数据并且不需要导航)
这是我目前的代码:

$this->widget('zii.widgets.grid.CGridView',array('dataProvider'=>$search,'columns' => $columns,'itemsCssClass' => 'list_table','template' => '{pager}{summary}{items}','pager' => array(
                  'cssFile'=>false,'class'=>'CLinkPager','firstPageLabel' => '<<','prevPageLabel' => '<','nextPageLabel' => '>','lastPageLabel' => '>>','header' => '','footer' => $footer_btns,),'pagerCssClass' => 'pagination',));

解决方法

你可以通过覆盖renderPager()方法来实现这一点 – 但是,似乎寻呼机被放在一些文件中,所以通过只覆盖一个类来实现它的一种方法是:

覆盖zii.widgets.grid.CGridView以添加您的自定义renderPager()方法,例如:

Yii::import('zii.widgets.grid.CGridView');
class MyGrid extends CGridView {
    public function renderPager() { ... }
}

默认的renderPager()函数是here.

您要做的是查找测试寻呼机内容的行:

if($pager['pages']->getPageCount()>1) {

并更改“else”语句以放入您的默认“空”寻呼机内容,该内容可以使用相同的< ul>结构体.由于您没有为空白视图提供任何导航,因此如果在多个位置使用该数据,则无需担心该数据.这可能看起来像:

else {
        echo '<div class="'.$this->pagerCssClass.'">';
        ## YOUR CUSTOM "EMPTY PAGER" HTML HERE ##
        echo '</div>';
    }

您可能还需要定义一些额外的css类.在仅显示部分分页的页面上(例如,第一页和最后一页),您可以使用CSS重新定义“.hidden”类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读