YII+DWZ,修改开源作者的DwzPager和dwz.navtab.js,改用GET搜索和换页

是,当搜索与显示页数同时非默认值时,会出现页数失效的BUG,例:
目前默认每页显示10条,然后我选择了每页显示5条,页面刷新生效,但当我进行搜索后,页面又回到每页10条的状态。

解决该问题请统一使用GET方法:

1、controller中列表页改为以GET形式获取:

    if(isset($_GET['numPerPage'])) {
      Yii::app()->user->setState('numPerPage',(int)$_GET['numPerPage']);
       unset($_GET['numPerPage']);
    }  else{
      Yii::app()->user->setState('numPerPage',20);
    }
    if(isset($_GET['pageNum'])) {
      Yii::app()->user->setState('pageNum',(int)$_GET['pageNum']);
       unset($_GET['pageNum']);
    }  else{
      Yii::app()->user->setState('pageNum',0);
 
  }



2、model中search中加入页码和每页容量:
   'pagination'=>array(
      'pagesize'=>Yii::app()->user->getState('numPerPage'),
      'currentPage'=>Yii::app()->user->getState('pageNum')-1,
    ),


3、修改navTabPageBreak的提交方式:
顺藤摸瓜,在dwz.navtab.js中找到reload方法,把ajaxUrl的type修改为GET(原是POST)。
修改完后当然要重新压缩混淆生成dwz.min.js

4、在使用ext.dwz.DwzGridView时,需指定分页类为DwzPager
'pager'=>array('class'=>'ext.dwz.DwzPager')



检索提交方式必须为GET?如果不是的话会引起丢失,因为整合DWZ后分页是读取全新地址的。以下是我的检索form widget:

$form=$this->beginWidget('CActiveForm', array(
    'action'=>Yii::app()->createUrl($this->route),
    'method'=>'get',
    'htmlOptions'=>array(
        'onsubmit'=>'return navTabSearch(this);',
    ),
));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值