我想清楚地解释一下我的问题,
下面的代码用于存储附加的文件地址,在gridview中我将其作为链接,所以如果我点击链接它将显示链接上的文件
这是网格视图代码:
[
'label'=>'document_details',
'format'=>'raw',
'value' => function($model){
$data = $model->document_details;
$url = explode(',', $data);
$result = "";
foreach ($url as $key => $value) {
$result .= Html::a($value, $value);
}
return $result;
}
],
但问题是我无法在详细信息视图中执行此操作,我不知道该怎么做。
答案 0 :(得分:2)
<强>更新强> 从版本2.0.11开始,可以使用函数实现价值。看看DetailView::$attributes。
看看这位官方example。它与GridView的工作方式不同。您还可以在此处指定应考虑的属性列表。但方式不同:您没有指定获取值的函数。相反,您必须直接告诉DetailView值。你可以这样做:
function createDocDetailUrls($model) {
$data = $model->document_details;
$url = explode(',', $data);
$result = "";
foreach ($url as $key => $value) {
$result .= Html::a($value, $value);
}
return $result;
}
echo DetailView::widget([
'model' => $model,
'attributes' => [
//... other attributes
[
'label' => 'Document details',
'format'=> 'raw'
'value' => createDocDetailUrls($model),
],
//... other attributes
],
]);
类似的问题是here。