tre*_*der 4 yii detailview yii2
是否有一种简单的方法可以强制DetailViewYii2 忽略其attributes列表中的这些字段,尤其model是空字段?
或者唯一的方法是用自己的函数定义列表中的每个属性attributes并过滤其中的空字段(听起来有点疯狂)?
编辑:我认为,这是不言自明的,但事实证明,事实并非如此。因此,基本上,我想强制DetailView忽略(不呈现)attributes列表中这些元素的行,这些行具有相应的空(空,空字符串)值model,因此会导致呈现空表格单元格:

您可以将DetailView小部件的template参数定义为具有以下签名的回调函数,并且将为每个属性调用此回调,因此您可以为行定义所需的渲染:function ($attribute, $index, $widget)
DetailView::widget([
'model' => $model,
'template' => function($attribute, $index, $widget){
//your code for rendering here. e.g.
if($attribute['value'])
{
return "<tr><th>{$attribute['label']}</th><td>{$attribute['value']}</td></tr>";
}
},
//other parameters
]);
Run Code Online (Sandbox Code Playgroud)