Maison >développement back-end >tutoriel php >Yii框架中采用自己的写的html,不用框架自带widgets问题
这几天刚开始研究PHP框架Yii,
使用自带的zii.widgets、zii.widgets.grid等组件,
虽然很强大,但是样式设置不够灵活,
<code><?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'content-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'id', 'title', 'times', 'content', 'dc_id', array( 'class'=>'CButtonColumn', ), ), )); ?> </code>
问一下大家,在yii中如何使用自己写的html代码,
在views中写入html代码,这我会,
而且静态的都可以正常显示,
但是怎么把自己的html代码和models中的数据模型里的字段绑定,
这就不会了,
比如:怎么显示数据在表格、列表、分页等?
这几天刚开始研究PHP框架Yii,
使用自带的zii.widgets、zii.widgets.grid等组件,
虽然很强大,但是样式设置不够灵活,
<code><?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'content-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'id', 'title', 'times', 'content', 'dc_id', array( 'class'=>'CButtonColumn', ), ), )); ?> </code>
问一下大家,在yii中如何使用自己写的html代码,
在views中写入html代码,这我会,
而且静态的都可以正常显示,
但是怎么把自己的html代码和models中的数据模型里的字段绑定,
这就不会了,
比如:怎么显示数据在表格、列表、分页等?
<code>//in controller public function actionIndex() { //初始化model $mymodel = new Mymodel(); //获取筛选条件 $criteria = $mymodel->search(); //如果不用Criteria,也可以直接写condition语句(findAll要保持一样,但是offset和limit就要自己计算了),例如 //$count = Mymodel::model()->count("uid=:uid", array("uid"=>intval($_GET["uid"]))); //处理分页 $count = Mymodel::model()->count($criteria); $pages = new CPagination($count); $pages->pageSize = 20; $pages->applyLimit($criteria); //获取数据 $data = Mymodel::model()->findAll($criteria); $this->render('index', array( "model" => $mymodel,//下面的片段模板将不使用 "pages" => $pages, "data" => $data, )); } //in template,直接遍历$data,元素是Mymodel对象实例,用->访问属性即可 <table class="list"> <?php foreach($data as $item){ ?> <tr> <td> <?php echo $item->id; ?></td> <td> <?php echo $item->name; ?></td> <td> <?php echo $item->age; ?></td> <td> <?php echo $item->gender; ?></td> </tr> <?php } ?> </table> <ul class="page"> <?php //不使用CLinkPager,自己输出分页;需要注意的是CPagination对象的currentPage属性是从0开始计算的 //这里就简单示例了,没有最小、最大页判断等等,自己研究CPagination对象吧 for($p = 1; $p <= $pages->pageCount; $p++){ if ($p == ($pages->currentPage + 1){ echo "<li class="active"><a href="#">{$p}</a></li>"; }else{ echo "<li class="active"><a href="/mycontroller/index?page=%7B%24p%7D">{$p}</a></li>"; } } ?> </ul> </code>