yii中实现数组分页(用yii自带控件实现自己定义列表分页)
今天开发一个新功能 就是把两个表中的数据合在一起实现分页的功能(两个表中的字段是不一样的,有共同的属性,但字段名是不一样的)
效果如下图所示:
主要实现部分
courseController.php
$cid = $this->_gets->getParam("cid",0);
$levelid = $this->_gets->getParam("levelid","");
$title = "全部课程";
if($cid)
{
$title = SubCate::model()->getName($cid);
}
$this->pageTitle = $title;
$listinfo = array();
if($cid)
{
$cinfo = Course::model()->findAll("course_class=$cid");
$finfo = UpFile::model()->findAll("file_class=$cid");
}
else
{
$cinfo = Course::model()->findAll();
$finfo = UpFile::model()->findAll();
}
if($cinfo)
{
foreach ($cinfo as $plist)
{
$temp = array();
$temp["type"] = 1;
$temp["title"]=$plist->course_title;
$temp["desc"] = $plist->course_describe;
$temp["pic"] = $plist->course_pic;
$temp["id"] = $plist->course_id;
$temp["url"] = $this->createUrl("/course/special",array("id"=>$plist->course_id));
array_push($listinfo,$temp);
}
}
if($finfo)
{
foreach ($finfo as $plist)
{
$temp = array();
$temp["type"] = 2;
$temp["title"]=$plist->file_title;
$temp["desc"] = $plist->file_describe;
$temp["pic"] = $plist->file_pic;
$temp["id"] = $plist->file_id;
$temp["url"] = $this->createUrl("/course/detail",array("itemid"=>$plist->file_id));
array_push($listinfo,$temp);
}
}
$info = new CArrayDataProvider($listinfo, array(
//"keyField"=>"itemid",
"totalItemCount"=>count($listinfo),
"pagination"=>array("pageSize"=>40,),
));
$this->render("list",array("listinfo"=>$info,"title"=>$title,"levelid"=>$levelid,"cid"=>$cid));
view/list.php
<?php $this->widget("zii.widgets.CListView", array( "id"=>"Clist", "dataProvider"=>$listinfo, "itemView"=>"_list_view",//要注意的地方 "template"=>"<ul class="list_sub js_list_sub select">{items}</ul><div class="light">{pager}</div>",//分页填充 "enableSorting"=>false, "ajaxUpdate"=>false, "pager"=>array( //通过pager设置样式 默认为CLinkPager "prevPageLabel"=>"上一页", "firstPageLabel"=>"首页", //first,last 在默认样式中为{display:none}即不显示,通过样式{display:inline}即可 "nextPageLabel"=>"下一页", "lastPageLabel"=>"末页", "maxButtonCount"=>40, "header"=>"", ), )); ?>
view/_list_view.php //以下内容是要重复的部分
<li <?php if($data["type"]==1):?>class="first"<?php endif;?>> <div class="img"> <a href="<?php echo $data["url"];?>" class="img_a"> <img src="/media/school/<?php echo $data["pic"]?>" width="209" height="129" /> <div class="bgcolor hide"></div> <div class="img_txt hide"><?php echo Tool::str_cut($data["desc"], 80)?></div> </a> <div class="img_btn hide"> <a href="javascript:void(0);" class="add_collect">收藏</a><a href="javascript:void(0);" class="add_plan">加入学习计划</a> </div> </div> <h3><a href="<?php echo $data["url"];?>"><?php echo Tool::str_cut($data["title"],50,"");?></a></h3> </li>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: Yii)使用renderPartial调用另外一个控制器的视图