关于DetailView、GridView结合起来的一种用法(列表、详情) [ 2.0 版本 ]
先在controller中直接写,记得要加上命名空间要加上:
use yii\data\ActiveDataProvider;
$query = BrandBenefit::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
在view中:
use yii\widgets\DetailView; //这个是针对详细内容的
use yii\grid\GridView; //这个是针对列表的
//DetailView,GridView嵌套着用
<?= DetailView::widget([
'model' => $model,
'attributes' => [
//'id',
['label'=>'所属品牌','value'=>$model->getBase_id_text()],
['label'=>'店铺名称','value'=>$model->getStore_name()],
[
'attribute'=>'店铺经营此产品型号',
'format'=>'raw',
'value'=>GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'attribute' => '产品颜色',
'value'=>function($model){
return ProductAttr::findOne($model->color_id)->value;
},
],
[
'attribute' => '产品大小',
'value'=>function($model){
return ProductAttr::findOne($model->size_id)->value;
},
],
[
'attribute' => '库存数量',
'value'=>function($model){
$value=ProductAttr::findOne($model->size_id)->value;
return $model->count;
},
],
],
]),
],
'sell_price',
'store_content:raw',
],
]) ?>
// 这样就能与js,jq,ajax结合,就能做出很多不同效果
tiandi2050
注册时间:2015-05-25
最后登录:2017-03-28
在线时长:16小时6分
最后登录:2017-03-28
在线时长:16小时6分
- 粉丝10
- 金钱235
- 威望60
- 积分995
共 2 条评论
没大搞明白。。。。。求解释~
貌似上面的代码少了 render