为了账号安全,请及时绑定邮箱和手机立即绑定

由于 yii2 中的 if 语句而出现解析错误

由于 yii2 中的 if 语句而出现解析错误

PHP
繁花不似锦 2023-05-26 17:38:05
所以我有这段代码:<?= GridView::widget([    'dataProvider' => $detProvider,    //'filterModel' => $searchModel1,    if ($detProvider !== null) {       'columns' => [        ['class' => 'yii\grid\SerialColumn'],       // 'id',        'first_name',        'last_name',        'email',        /*'application_id',*/        [                'class' => 'yii\grid\ActionColumn',                'template' => '{view}',                'buttons' => [                    'view' => function ($url, $model, $key) {                        return Yii::$app->user->can('viewApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-eye-open"]), $url, ['title' => Yii::t('yii', 'View')]):"";                    },                    /*'edit' => function ($url, $model, $key) {                        return Yii::$app->user->can('editApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-pencil"]), $url, ['title' => Yii::t('yii', 'Edit')]):"";                    },                    'delete' => function ($url, $model, $key) {                        return  Yii::$app->user->can('deleteApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-trash"]), $url, ['title' => Yii::t('yii', 'Delete'), 'data' => ['method' => 'post', 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'), 'params' => ['id' => $model['id'], '_csrf' => Yii::$app->request->csrfToken]]]):"";                    },*/                    ],                            'urlCreator' => function($action, $model, $key, $index) {                    if ($action === 'view') {                        $url = 'index.php?r=admin/applicant/view&id=' . $model['id'];                        return $url;                    }                }                    ],    ],     }]); ?>我放置该 if 语句是因为我希望仅当 detProvider 不为 null 时才显示此特定表。但是我收到一个解析错误;ParseError 语法错误,意外的“if”(T_IF),期待“]”有人可以帮忙吗?我究竟做错了什么??我还是 yii2 和 php 的新手。
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

如果您只想在 dataProvider 不为 null 时显示 gridview,那么您应该以这种方式检查


    <?php 


        if ($detProvider !== null) {

            echo GridView::widget([

            'dataProvider' => $detProvider,

            //'filterModel' => $searchModel1,


               'columns' => [

                ['class' => 'yii\grid\SerialColumn'],


               // 'id',

                'first_name',

                'last_name',

                'email',

                /*'application_id',*/


                [

                        'class' => 'yii\grid\ActionColumn',

                        'template' => '{view}',

                        'buttons' => [

                            'view' => function ($url, $model, $key) {

                                return Yii::$app->user->can('viewApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-eye-open"]), $url, ['title' => Yii::t('yii', 'View')]):"";

                            },

                            /*'edit' => function ($url, $model, $key) {

                                return Yii::$app->user->can('editApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-pencil"]), $url, ['title' => Yii::t('yii', 'Edit')]):"";

                            },

                            'delete' => function ($url, $model, $key) {

                                return  Yii::$app->user->can('deleteApplicant') ? Html::a(Html::tag('span', '', ['class' => "glyphicon glyphicon-trash"]), $url, ['title' => Yii::t('yii', 'Delete'), 'data' => ['method' => 'post', 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'), 'params' => ['id' => $model['id'], '_csrf' => Yii::$app->request->csrfToken]]]):"";

                            },*/

                            ],

                                    'urlCreator' => function($action, $model, $key, $index) {

                            if ($action === 'view') {

                                $url = 'index.php?r=admin/applicant/view&id=' . $model['id'];

                                return $url;

                            }

                        }


                            ],

                ], 

            ]); 

        }

    ?>


查看完整回答
反对 回复 2023-05-26
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信