Yii2 仅在单行的动作列中隐藏动作
Yii2 Hide Actions in Action Column of a Single Row only
我有一个 GridView
,列表中的一些项目 不是 由用户创建的,但它们是我们开发人员预先定义的。
在上图中,(未设置) Store ID 的行是我们创建的预定义项目。由于它是预定义的,因此它不应具有操作图标 "view"、"update" 和 "delete"。
至少,我们如何在 GridView
中的预定义项目上隐藏这些操作图标?
您可以创建新列并设置可调用 $content
属性。请参阅 http://www.yiiframework.com/doc-2.0/yii-grid-column.html#$content-detail
因此,例如。将此代码放在 Grid
列中:
[
'content' => function ($model, $key, $index, $column) {
if ($model->storeId == null) {
return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['view', 'id' => $model->id])
. Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['update', 'id' => $model->id])
. Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'id' => $model->id], ['data-method'=> 'post']);
}
}
]
这就是我项目中的工作 https://yadi.sk/i/2fWnWZBNffQJL and https://yadi.sk/i/GyHWD9m9ffQK2
我有一个 GridView
,列表中的一些项目 不是 由用户创建的,但它们是我们开发人员预先定义的。
在上图中,(未设置) Store ID 的行是我们创建的预定义项目。由于它是预定义的,因此它不应具有操作图标 "view"、"update" 和 "delete"。
至少,我们如何在 GridView
中的预定义项目上隐藏这些操作图标?
您可以创建新列并设置可调用 $content
属性。请参阅 http://www.yiiframework.com/doc-2.0/yii-grid-column.html#$content-detail
因此,例如。将此代码放在 Grid
列中:
[
'content' => function ($model, $key, $index, $column) {
if ($model->storeId == null) {
return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['view', 'id' => $model->id])
. Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['update', 'id' => $model->id])
. Html::a('<span class="glyphicon glyphicon-trash"></span>', ['delete', 'id' => $model->id], ['data-method'=> 'post']);
}
}
]
这就是我项目中的工作 https://yadi.sk/i/2fWnWZBNffQJL and https://yadi.sk/i/GyHWD9m9ffQK2