この記事の例では、Yii view 操作のカスタムページングの実装方法を説明します。参考として皆さんと共有してください。詳細は次のとおりです:
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/components/zpager.phpに変更し、クラス名を変更します
framework/web/widgets/pagers/pager.css 対応するスタイルファイルをコピーしますprotected/components/css/pager に移動します。 css
zpager.php
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 view操作のカスタムページング実装方法に関連するその他の記事については、PHP中国語Webサイトに注目してください。