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>

最后的最后,效果图展示时间(略丑,勿怪):

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Yii2使用dropdownlist实现地区三级联动功能的方法

    本文实例讲述了Yii2使用dropdownlist实现地区三级联动功能的方法.分享给大家供大家参考,具体如下: 视图部分: <?php use yii\helpers\Url; use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use yii\helpers\Html; /* @var $this yii\web\View */ /* @var $model common\search\service\ItemSearch */ /

  • Yii2框架dropDownList下拉菜单用法实例分析

    本文实例讲述了Yii2框架dropDownList下拉菜单用法.分享给大家供大家参考,具体如下: dropDownList是yii框架中一个自带的下拉功能了解,我们可以直接使用dropDownList来实现html的select菜单,下面一起来看看. Yii2.0 默认的 dropdownlist 的使用方法. 复制代码 代码如下: <?php echo $form->field($model, 'name[]')->dropDownList(['a' => 'Item A', '

  • yii2中dropDownList实现二级和三级联动写法

    整理文档,搜刮出一个yii2中dropDownList实现二级和三级联动写法的代码,稍微整理精简一下做下分享. 视图页面: <?php $form = ActiveForm::begin([ 'action' => ['index'], 'method' => 'get', ]); ?> <!--一级目录--> <?= $form->field($model, 'cocate_id')->dropDownList(Helper::courseCateM

  • Yii2中DropDownList简单用法示例

    本文实例讲述了Yii2中DropDownList简单用法.分享给大家供大家参考,具体如下: 这里以实际应用为例讲解Yii2 DropDownList用法. 有一张分类表,无限极分类那种,表结构如下,pid就是父分类ID 这里我们要实现: 新建分类的时候,父分类可以从所有分类中任选一个或者不选 编辑分类时,父分类不能选择当前编辑的分类...如果选自己,父分类就是自己了,必然出错! 实现代码如下,我就贴上form的全部代码吧 <?php use common\models\Category; use

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

    ListView是yii框架中类似GridView,也是用于展示多条数据的小部件,相比GridView,ListView可以更加灵活地设置数据展示的格式. 下面以我自己做的一个使用ListView来展示数据的例子,来简单讲解一下ListView小部件的使用. 首先需要在控制器中new一个数据提供器,传给视图,示例代码如下: public function actionIndex() { $dataProvider = new ActiveDataProvider([ 'query' => Dia

  • YII2框架中actions的作用与使用方法示例

    本文实例讲述了YII2框架中actions的作用与使用方法.分享给大家供大家参考,具体如下: 我们常在控制器中看到一个actions的方法,这个方法具体的作用是共用一些功能相同的action,方便调用. 当然我们也可以自已写一些action来进行调用.在项目目录下创建common目录,并创建TestAction.php文件.action文件的存放路径可以随意指定. <?php //注意这里的命名空间,要跟你的目录对应 namespace app\common; use yii\base\Acti

  • YII2框架中日志的配置与使用方法实例分析

    本文实例讲述了YII2框架中日志的配置与使用方法.分享给大家供大家参考,具体如下: YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用. 我们在config/web.php中配置如下: return [ //log必须在bootstrap期间就被加载,便于及时调度日志消息到目标 'bootstrap' => ['log'], 'components' => [ 'log' => [ //消息跟踪级别,设置yii\log\Dispatcher::traceLevel属性

  • YII2框架中查询生成器Query()的使用方法示例

    本文实例讲述了YII2框架中查询生成器Query()的使用方法.分享给大家供大家参考,具体如下: YII2中的yii\db\Query给我们提供了非常丰富的方法,方便我们构建复杂的SQL语句. Query()与createCommand最大区别在于,后者直接使用我们写好的SQL语句,前者通过参数和数据库类型生成不同SQL,迁移性更好. <?php namespace app\controllers; use YII; use yii\db\Query; use yii\web\Controlle

  • yii 2.0中表单小部件的使用方法示例

    前言 本文主要介绍的是关于yii 2.0中表单小部件使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 使用方法 首先创建model层,因为要使用表单小部件 所以要加载相应的组件,这里需要的组件有yii\widgets\ActiveForm yii\helpers\Html 接下来在model定义的class里 写方法,首先我们要定义需要使用表单小部件的name值 不多说上代码 <?php /** * Created by PhpStorm. * User: jinlei * Dat

  • Yii框架小部件(Widgets)用法实例详解

    本文实例讲述了Yii框架小部件(Widgets)用法.分享给大家供大家参考,具体如下: 小部件 ¶ 小部件是在 视图 中使用的可重用单元, 使用面向对象方式创建复杂和可配置用户界面单元. 例如,日期选择器小部件可生成一个精致的允许用户选择日期的日期选择器, 你只需要在视图中插入如下代码: <?php use yii\jui\DatePicker; ?> <?= DatePicker::widget(['name' => 'date']) ?> Yii提供许多优秀的小部件,比如

  • Yii2.0小部件GridView(两表联查/搜索/分页)功能的实现代码

     GridView 两表联查/搜索/分页 当我们在一个网格视图中显示活动数据的时候,你可能会遇到这种情况,就是显示关联表的列的值,为了使关联列能够排序,你需要连接关系表,以及添加排序规则到数据提供者的排序组件中,对数据进行搜索,排序. Ⅰ.控制器层Controller <?php namespace backend\controllers; header("Content-type:text/html;charset=utf-8"); use Yii; use yii\web\C

  • Android的Launcher启动器中添加快捷方式及小部件实例

    前言: 最近一直在看Launcher模块,经过差不多两个月学习,终于摸透了Launcher的一些主要功能实现,目前继续还处于 摸索状态.未看Launcher时,于我而言,只能膜拜,以为所有功能都是它实现的 :入门后,才发现,Launcher的很多功能只是 集成了框架/应用程序提供的功能.很多陌生的东西,只有接触了才感叹:"oh ,原来是这样的!" 添加快捷方式 今天先给大家分享下Launcher如何实现添加快捷方式(Shortcut) ,后续会慢慢增加其他方面的功能,帮助大家"

  • 详解在YII2框架中使用UEditor编辑器发布文章

    本文介绍了详解在YII2框架中使用UEditor编辑器发布文章 ,分享给大家,具体如下: 创建文章数据表 文章数据表主要有4个字段 1.id  主键(int) 2.title 标题(varchar) 3.content 内容(text) 4.created_time 创建时间(int) 创建文章模型 创建文章模型,不要忘记设置验证规则和字段的名称 namespace backend\models; class Article extends \yii\db\ActiveRecord { publ

  • Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解

    之前写过一篇Yii2框架制作RESTful风格的API快速入门教程,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定返回

随机推荐