yii2 如何使用数据小部件之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), model widget表示DetailView的实例
format显示该属性的显示格式

options格式

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

template格式

'template' =>  '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值