Yii2 Detail View中Gridview代码的写法
How to write Gridview code in Yii2 Detail View
在这里我想把我的问题解释清楚,
下面的代码用于存储附件地址,在 gridview 中我将其设置为 link,因此如果我单击 link 它将显示位于link
这是网格视图代码:
[
'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;
}
],
但问题是我无法在详细信息视图中执行此操作,我不知道该怎么做。
更新:
从 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
],
]);
类似的问题是。
在这里我想把我的问题解释清楚,
下面的代码用于存储附件地址,在 gridview 中我将其设置为 link,因此如果我单击 link 它将显示位于link
这是网格视图代码:
[
'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;
}
],
但问题是我无法在详细信息视图中执行此操作,我不知道该怎么做。
更新: 从 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
],
]);
类似的问题是