ListView是yii框架中类似GridView,也是用于展示多条数据的小部件,相比GridView,ListView可以更加灵活地设置数据展示的格式。

下面以我自己做的一个使用ListView来展示数据的例子,来简单讲解一下ListView小部件的使用。
首先需要在控制器中new一个数据提供器,传给视图,示例代码如下:
public function actionIndex() {
$dataProvider = new ActiveDataProvider([
'query' => Diary::find()->orderBy('day'),
'pagination' => [//分页
'pagesize' => 4
]
]);
return $this->render('index', [
'dataProvider' => $dataProvider
]);
}
接下来就是在视图文件中使用ListView来展示数据了,示例代码如下:
<?= ListView::widget([
'dataProvider' => $dataProvider,//数据提供器
'itemView' => '_diary',//指定item视图(该视图文件与当前视图在同一个目录下)
'viewParams' => [//传参数给每一个item
'moodCfg' => Mood::getAll()
],
'layout' => '{items}<div class="col-lg-12 sum-pager">{summary}{pager}</div>',//整个ListView布局
'itemOptions' => [//针对渲染的单个item
'tag' => 'div',
'class' => 'col-lg-3'
],
/*
'options' => [//针对整个ListView
'tag' => 'div',
'class' => 'col-lg-3'
],
*/
'pager' => [
//'options' => ['class' => 'hidden'],//关闭分页(默认开启)
/* 分页按钮设置 */
'maxButtonCount' => 5,//最多显示几个分页按钮
'firstPageLabel' => '首页',
'prevPageLabel' => '上一页',
'nextPageLabel' => '下一页',
'lastPageLabel' => '尾页'
]
]);?>
这里说明一下,由于ListView和GridView继承于同一个父类BaseListView,所以有很多设置参数是一样的,可以通过参考GridView的参数设置来设置ListView。
最后就是在ListView的'itemView'参数指定的视图文件中来编写每一条数据的展示格式了,示例代码如下:
<div class="item">
<h4 style="font-weight:bold"><?= Html::encode($model->title ? $model->title : '(无题)') ?></h4>
<p style="font-size:13px">
<span style="color:orangered"><?= date('Y.m.d', $model->day) ?></span><br>
<span style="color:#999">心情:<?= $moodCfg[$model->mood] ?></span>//这里访问ListView的'viewParams'参数传过来的参数$moodCfg
</p>
<div style="margin:15px 0">
<?php echo HtmlPurifier::process(mb_substr($model->content, 0, 25).'......'); ?>
</div>
<p class="info">
添加:<?= date('Y-m-d H:i:s', $model->created_at) ?><br>
最后修改:<?= date('Y-m-d H:i:s', $model->updated_at) ?>
</p>
<div style="text-align:right">
<?= Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['view', 'id' => $model->id], ['title' => '查看']) ?>
<?= Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['upcreate', 'id' => $model->id], ['title' => '修改']) ?>
<?= Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'id' => $model->id], [
'title' => '删除',
'data' => [
'confirm' => '您确定真的要删除 '.date('Y年m月d日', $model->day).' 的日记吗?',
'method' => 'post',
]
]) ?>
</div>
</div>
最后的最后,效果图展示时间(略丑,勿怪):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Yii
# ListView
# yii2.0实现创建简单widgets示例
# Yii2.0小部件GridView(两表联查/搜索/分页)功能的实现代码
# yii 2.0中表单小部件的使用方法示例
# Yii框架安装简明教程
# 从零开始学YII2框架(一)通过Composer安装Yii2框架
# 从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
# 从零开始学YII2框架(六)高级应用程序模板
# 从零开始学YII2框架(三)扩展插件yii2-gird
# 从零开始学YII2框架(二)通过 Composer 安装扩展插件
# PHP的Yii框架中View视图的使用进阶
# 从零开始学YII2框架(四)扩展插件yii2-kartikgii
# Yii框架小部件(Widgets)用法实例详解
# 分页
# 几个
# 就是在
# 最多
# 下一页
# 有很多
# 上一页
# 可以通过
# 尾页
# 首页
# 中来
# 多条
# 大家多多
# 参数设置
# 器中
# 目录下
# 是一样的
# 在同一个
# moodCfg
# lt
相关文章:
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
安云自助建站系统如何快速提升SEO排名?
成都网站制作报价公司,成都工业用气开户费用?
建站之星ASP如何实现CMS高效搭建与安全管理?
建站主机选哪种环境更利于SEO优化?
如何实现建站之星域名转发设置?
南宁网站建设制作定制,南宁网站建设可以定制吗?
定制建站如何定义?其核心优势是什么?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何快速辨别茅台真假?关键步骤解析
如何高效生成建站之星成品网站源码?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
如何在阿里云虚拟服务器快速搭建网站?
建站之星后台密码如何安全设置与找回?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何彻底卸载建站之星软件?
家庭服务器如何搭建个人网站?
青岛网站建设如何选择本地服务器?
,想在网上投简历,哪几个网站比较好?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
建站之星伪静态规则如何设置?
建站之星×万网:智能建站系统+自助建站平台一键生成
网站制作软件免费下载安装,有哪些免费下载的软件网站?
javascript基本数据类型及类型检测常用方法小结
如何通过VPS建站无需域名直接访问?
想学网站制作怎么学,建立一个网站要花费多少?
建站主机服务器选购指南:轻量应用与VPS配置解析
已有域名和空间如何快速搭建网站?
小建面朝正北,A点实际方位是否存在偏差?
如何设置并定期更换建站之星安全管理员密码?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
XML的“混合内容”是什么 怎么用DTD或XSD定义
建站中国官网:模板定制+SEO优化+建站流程一站式指南
如何选择香港主机高效搭建外贸独立站?
广德云建站网站建设方案与建站流程优化指南
如何在云主机上快速搭建多站点网站?
如何选择适合PHP云建站的开源框架?
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何在景安服务器上快速搭建个人网站?
开心动漫网站制作软件下载,十分开心动画为何停播?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
公众号网站制作网页,微信公众号怎么制作?
建站ABC备案流程中有哪些关键注意事项?
*请认真填写需求信息,我们会在24小时内与您取得联系。