Yii的页面小部件
區別
?DetailView?小部件能夠用于顯示一條記錄數據
ListView?和?GridView?小部件能夠用于顯示一個擁有分頁、 排序和過濾功能的一個列表或者表格
格式化
默認格式化時間
更多的格式化
自定義格式化
匿名函數格式化
圖片展示
['attribute' => 'image','format' => ['image',['width'=>'100','height'=>'100']],'value' => function ($data) {return $data->image;} ],鏈接
['attribute' => 'title','value' => function ($model, $key, $index, $column) {return Html::a($model->title, ['article/view', 'id' => $key]);},'format' => 'raw', ],數據枚舉
['attribute' => 'sex', 'value'=>function ($model,$key,$index,$column){return $model->sex==1?'男':'女'; },//在搜索條件(過濾條件)中使用下拉框來搜索'filter' => ['1'=>'男','0'=>'女'],//or'filter' => Html::activeDropDownList($searchModel,'sex',['1'=>'男','0'=>'女'],['prompt'=>'全部']) ],['label'=>'產品狀態', 'attribute' => 'pro_name', 'value' => function ($model) {$state = ['0' => '未發貨','1' => '已發貨','9' => '退貨,已處理',];return $state[$model->pro_name];},'headerOptions' => ['width' => '120'] ]代碼展示
主要有一個數據提供者? 一個過濾數據? 一個表格部分(列數據/動作列)
GridView::widget([ // 你傳過來的ActiveDataProvider 'dataProvider' => $dataProvider, //過濾 'filterModel' => $searchModel, //以下就是表格部分了 'columns' => [// 第一列:排序['class' => 'yii\grid\SerialColumn'],// 第二列:sid,與你查詢的model字段相對應,可以少,不可以多'sid',//第三列:姓名sname['attribute' => 'sname',// 自定義列名'label'=>'姓名',],// 更復雜的列數據['class' => 'yii\grid\DataColumn', //由于是默認類型樣式,可以省略//采用匿名函數方式 'value' => function ($data) {return $data->name; // 如果是數組數據則為 $data['name'] ,例如,使用 SqlDataProvider 的情形。},],// 動作列,默認三個動作,分別為{view},{update},{delete}['class' => 'yii\grid\ActionColumn',// 列名'header' => '操作',// 定義這一列里面有幾個操作,這里為查看,更新,刪除'template' => '{stuent-view} {studnet-update} {student-delete}',// 為你template中聲明的操作聲明動作'buttons' => [// 對應{student-view},三個參數,最主要的$key,為你model主鍵的id'stuent-view' => function ($url, $models, $key) {// 為下面a鏈接的url,此處指向StudentController的actionView方法$url = ['student/view', 'id'=>$key];$options = ['title' => '查看','aria-label' => '查看','data-pjax' => '0',];return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, $options);}]], ], ]);DetailView
定義
?
DetailView小部件通常用來顯示的是一條記錄的詳情。
- 一個Model模型類對象。
- 一個AR類的實例對象。
- 由鍵值對構成的一個關聯數組。
一個典型的DetailView的使用方法如下:
<?= DetailView::widget(['model' => $model,'attributes' => ['id','content:ntext',['attribute'=>'status''value'=>$model->status0->name]'create_time:datetime','update_time:datetime',],]) ?>屬性
代碼
options格式:'options' => ['class' => 'table table-striped table-bordered detail-view']template格式:'template' => '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'?
總結
- 上一篇: 花旗银行信用卡的分期付款怎么操作 哪些交
- 下一篇: Yii请求组件