>  기사  >  php教程  >  Yii 뷰 오퍼레이션 커스텀 페이징 구현 방법

Yii 뷰 오퍼레이션 커스텀 페이징 구현 방법

高洛峰
高洛峰원래의
2016-12-30 16:11:101576검색

이 기사의 예에서는 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/comComponents/zpager.php에 이름을 지정하세요. 클래스 이름을 수정하세요

framework/web/widgets/pages/pager.css 해당 스타일 파일을 protected/comComponents/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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.