全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Yii2框架之ListView小部件的使用方法

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 


相关文章: 高性能网站服务器部署指南:稳定运行与安全配置优化方案  如何在新浪SAE免费搭建个人博客?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  智能起名网站制作软件有哪些,制作logo的软件?  盘锦网站制作公司,盘锦大洼有多少5G网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  建站之星安装后如何配置SEO及设计样式?  网站制作模板下载什么软件,ppt模板免费下载网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南    大连 网站制作,大连天途有线官网?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何用花生壳三步快速搭建专属网站?  太平洋网站制作公司,网络用语太平洋是什么意思?  css网站制作参考文献有哪些,易聊怎么注册?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  微课制作网站有哪些,微课网怎么进?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何选择最佳自助建站系统?快速指南解析优劣  如何在宝塔面板创建新站点?  如何做网站制作流程,*游戏网站怎么搭建?  如何选择靠谱的建站公司加盟品牌?  如何用景安虚拟主机手机版绑定域名建站?  常州企业网站制作公司,全国继续教育网怎么登录?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  网站制作价目表怎么做,珍爱网婚介费用多少?  免费网站制作appp,免费制作app哪个平台好?  建站之星下载版如何获取与安装?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  制作销售网站教学视频,销售网站有哪些?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何在自有机房高效搭建专业网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  微信小程序 input输入框控件详解及实例(多种示例)  如何快速生成橙子建站落地页链接?  ,有什么在线背英语单词效率比较高的网站?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何快速搭建高效香港服务器网站?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何快速打造个性化非模板自助建站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何使用Golang安装API文档生成工具_快速生成接口文档  网站微信制作软件,如何制作微信链接?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  如何通过VPS建站无需域名直接访问? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。