이 기사의 예에서는 Yii 보기 작업의 사용자 정의 페이징 구현 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.
1. 뷰 파일이 cgridview, clistview를 호출할 때 사용자 정의 페이징 방법을 호출합니다
<?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'news-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'template'=>'{items}{summary}{pager}', 'selectableRows'=>2, 'pager'=>'ZPager', 'summaryText'=>'页数:{pages}/{page}页', 'columns'=>array( array( 'class'=>'CCheckBoxColumn', 'footer'=>'<button onclink="deleteAll()">button</button> <button onclink="refashAll()">button</button>', 'footerHtmlOptions'=>array('colspan'=>5), 'selectableRows'=>2, ), 'id', array('name'=>'title', 'htmlOptions'=>array('width'=>'20%'), 'value'=>'mb_substr($data->title,0,10,"utf-8")', ), array('name'=>'content', 'htmlOptions'=>array('width'=>'20%'), 'value'=>'mb_substr(strip_tags($data->content),0,10,"utf-8")', ), array('name'=>'type', 'value'=>'News::model()->getNewsType($data->type)', ), 'user', array('name'=>'status', 'value'=>'News::model()->getNewsStatus($data->status)', ), array( 'class'=>'CButtonColumn', 'buttons'=>array( 'view'=>array('visible'=>'false'), //'delete'=>array('click'=>'true'), ), ), ), ));
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('application.components.css.pager').'.css'); Yii::app()->getClientScript()->registerCssFile($url); }
3. CSS 스타일 파일을 수정하여 목록을 생성하는 프로그램을 수정하여 분류 수정 목적을 달성할 수도 있습니다.
이 글이 Yii 프레임워크를 기반으로 하는 모든 분들의 PHP 프로그램 설계에 도움이 되기를 바랍니다.
Yii 보기 작업의 사용자 정의 페이징 구현 방법과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!