Как скрыть иконку в картике Детальный вид yii2 если гость? - PullRequest
0 голосов
/ 27 августа 2018

хорошо, я использую Kartik / Detail View, и я хочу показать кнопку редактирования и удаления только на панели, если пользователь Admin. Мой код:

<?= 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));

    } 

                    },

                ],

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете попробовать это:

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