Maison  >  Article  >  php教程  >  Yii视图操作之自定义分页实现方法

Yii视图操作之自定义分页实现方法

高洛峰
高洛峰original
2016-12-30 16:11:101576parcourir

本文实例讲述了Yii视图操作之自定义分页实现方法。分享给大家供大家参考,具体如下:

1. 视图文件调用cgridview,clistview时候调用自定义的分页方法

<?php $this->widget(&#39;zii.widgets.grid.CGridView&#39;, array(
 &#39;id&#39;=>&#39;news-grid&#39;,
 &#39;dataProvider&#39;=>$model->search(),
 &#39;filter&#39;=>$model,
 &#39;template&#39;=>&#39;{items}{summary}{pager}&#39;,
  &#39;selectableRows&#39;=>2,
  &#39;pager&#39;=>&#39;ZPager&#39;,
  &#39;summaryText&#39;=>&#39;页数:{pages}/{page}页&#39;,
  &#39;columns&#39;=>array(
  array(
   &#39;class&#39;=>&#39;CCheckBoxColumn&#39;,
   &#39;footer&#39;=>&#39;<button onclink="deleteAll()">button</button>
      <button onclink="refashAll()">button</button>&#39;,
   &#39;footerHtmlOptions&#39;=>array(&#39;colspan&#39;=>5),
   &#39;selectableRows&#39;=>2,
  ),
  &#39;id&#39;,
  array(&#39;name&#39;=>&#39;title&#39;,
    &#39;htmlOptions&#39;=>array(&#39;width&#39;=>&#39;20%&#39;),
    &#39;value&#39;=>&#39;mb_substr($data->title,0,10,"utf-8")&#39;,
   ),
  array(&#39;name&#39;=>&#39;content&#39;,
    &#39;htmlOptions&#39;=>array(&#39;width&#39;=>&#39;20%&#39;),
    &#39;value&#39;=>&#39;mb_substr(strip_tags($data->content),0,10,"utf-8")&#39;,
   ),
  array(&#39;name&#39;=>&#39;type&#39;,
    &#39;value&#39;=>&#39;News::model()->getNewsType($data->type)&#39;,
   ),
  &#39;user&#39;,
  array(&#39;name&#39;=>&#39;status&#39;,
    &#39;value&#39;=>&#39;News::model()->getNewsStatus($data->status)&#39;,
    ),
  array(
   &#39;class&#39;=>&#39;CButtonColumn&#39;,
   &#39;buttons&#39;=>array(
    &#39;view&#39;=>array(&#39;visible&#39;=>&#39;false&#39;),
    //&#39;delete&#39;=>array(&#39;click&#39;=>&#39;true&#39;),
   ),
  ),
 ),
));

2. 复制基类分页类文件,做修改成为自己的分页方法

framework/web/widgets/pagers/CListPager.php复制并生命名到protected/components/zpager.php修改类名称

framework/web/widgets/pagers/pager.css复制对应样式文件到protected/components/css/pager.css

修改zpager.php的css加载目录

public static function registerCssFile($url=null)
{
 if($url===null)
  $url=CHtml::asset(Yii::getPathOfAlias(&#39;application.components.css.pager&#39;).&#39;.css&#39;);
 Yii::app()->getClientScript()->registerCssFile($url);
}

3. 通过修改Css样式文件,也可以修改生成列表的程序,达到修改分类的目的。

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

更多Yii视图操作之自定义分页实现方法相关文章请关注PHP中文网!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn