yii2 如何使用数据小部件之DetailView

来源:互联网 发布:ipad下载软件付费 编辑:程序博客网 时间:2024/05/26 02:20

  • 什么是数据小部件
  • 常见的数据小部件
    • DetailView用法
  • DetailView 属性

什么是数据小部件

顾名思义,数据小部件用来显示数据的小模块。 常用的小部件有DetailView,ListView,GridVew。

DetailView:主要用来显示一条记录数据的详细情况。
ListView 和 GridView:他们可以用来显示一个拥有分页、 排序和过滤功能的一组数据。

常见的数据小部件

DetailView用法

DetailView小部件通常用来显示的是一条记录的详情。

  • 一个Model模型类对象。
  • 一个AR类的实例对象。
  • 由键值对构成的一个关联数组。

在我们的例子中,它就是用来显示一个AR类的实例对象,是一个文章类的实例对象。

如何显示呢,创建一个DetailView小部件来展示。

参看例子:

 <?= DetailView::widget([        'model' => $model,        'attributes' => [            'id',            'title',            'content:ntext',            'tags',            [            'attribute'=>'status'            'value'=>$model->status0->name            ]            'author_id',            'create_time:datetime',            'update_time:datetime',        ],    ]) ?>

需要调用DetailView的静态方法widget,
给的参数是一个关联数组:
==model== 这个键用来设置需要显示的AR对象。这里是控制器传过来的文章模型对象。
==attributes== 这个键的值又是一个关联数组,数组里面决定需要显示哪些属性以及它的格式。这样就可以把对象展示出来了。

DetailView 属性

DetailView中常用的属性

属性 作用 attribute 在视图上展示的属性列表 model 接收控制器传递的AR类 options 设置小部件标签的属性 template 设置模板样式

其中attribute中还可以设置如下属性

属性 作用 attribute 设置属性名【必要】(如果没有label和value属) label 属性关联的名称 value 属性的值,可以使用匿名函数 function (model,widget),modelwidget表示DetailView的实例 format 显示该属性的显示格式

options格式

'options' => ['class' => 'table table-striped table-bordered detail-view']

template格式

'template' =>  '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'
原创粉丝点击