php - 如果是客人,如何在kartik Detail view yii2中隐藏图标?
问题描述
好吧,我正在使用 Kartik/Detail View,如果用户是管理员,我只想在面板中显示编辑和删除按钮。我的代码是:
<?= DetailView::widget([
'model'=>$model,
'condensed'=>true,
'hover'=>true,
'mode'=>DetailView::MODE_VIEW,
'panel'=>[
'heading'=>'Empleado ' . $model->RPE,
'type'=>DetailView::TYPE_INFO,
],
'buttons1' => '{view}',
这样做我只是隐藏按钮,但对每个人来说,只是显示视图按钮,但我不想要这个。
在我的 GridView 中,我正在做类似的事情,但在 DeatailView 中不起作用,所以我不知道如何在那里实现。
['class' => 'kartik\grid\ActionColumn',
'header' => 'Acciones',
'template'=> '{view} {update} {delete} ',
'buttons'=> [
'update'=> function($url,$model) {
if (Yii::$app->user->isGuest ? FALSE : (Yii::$app->user->identity->isAdmin)) {
return(Html::a( '<span class="glyphicon glyphicon-pencil"></span>', $url));
}
},
'delete'=>function($url,$model,$key) {
if (Yii::$app->user->isGuest ? FALSE : (Yii::$app->user->identity->isAdmin)) {
return(Html::a('<span class="glyphicon glyphicon-trash"></span>', $url));
}
},
],
解决方案
你可以试试这个:
'buttons1' => Yii::$app->user->identity->isAdmin ? '{view} {delete}' : '{view}',
推荐阅读
- php - 如何在 PHP 中将 ASCII 转换为 ISO-8859-1?
- gitlab - GITLAB Repo 克隆到 Google 可以存储
- windows - 停止并启动 IIS 服务器以进行 TFS 构建访问被拒绝
- google-chrome - Chrome:使用快捷方式从信息亭模式切换到桌面模式
- python - 我们如何根据不同的数据集预测新数据的目标值?scikit 学习 / gaussianNB
- java - 使用 JMeter/Java 上下文的 Scala JSR223 脚本
- javascript - 循环带有获胜条件的基本 Javascript 游戏
- python - 替换python数组或数组中的引号
- python - PyCharm 导入 matplotlib.pyplot 显示错误
- symfony - 使用 RMQ 在 Symfony Messenger 中处理来自不同命名空间的消息