首页 > 解决方案 > 如果是客人,如何在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));

    } 

                    },

                ],

标签: phphtmlyiiyii2kartik-v

解决方案


你可以试试这个:

'buttons1' => Yii::$app->user->identity->isAdmin ? '{view} {delete}' : '{view}',

推荐阅读