从DataProvider值yii2设置页面标题

时间:2015-10-02 01:43:27

标签: gridview yii2 yii2-advanced-app

我有一个视图event,它有一个额外的操作按钮,可以重定向到checkin/index页面 这是我的gridview

<?= GridView::widget([
    'id'=>'event-table',
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        'title',
        'location',
        [
            'class' => 'yii\grid\ActionColumn',
            'template' => '{checkin/index} {view} {update} {delete} ',
            'contentOptions' => ['class'=>'action-td'],

            'buttons' => [
                'checkin/index' => function ($url,$model) {
                    return Html::a('<div id="notification-container"><span data-pjax=false class="glyphicon glyphicon-user"></span>'.EventSearch::showCheckin($model->id) .'</div>', $url,['data-pjax' => true]);
                },
            ]
        ],
    ]
]);

当使用点击该按钮时,它将打开checkin/index页面 所以我想发送点击该按钮的行的titlecheckin/index页面上,我可以将该标题用作$this->title

有没有办法在动作按钮点击时传递数据 这是我的checkin/index代码

public function actionIndex()
{

    $searchModel = new CheckinSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'searchModel' => $searchModel,
        'dataProvider' => $dataProvider,
    ]);
}

我无法使用下面的代码,因为我的$model只有event_id的值作为相关表格,而checkin/index页面上我使用gridview和relation来直接使用{{1}显示标题}

event.title

1 个答案:

答案 0 :(得分:2)

例如,

'buttons' => [
    'checkin/index' => function ($model) {
       return Html::a('<div id="notification-container"><span data-pjax=false class="glyphicon glyphicon-user"></span>', Url::to(['checkin/index', 'title' => $model->title]), $options);
     }
], 

checkin/index

 $this->title => $_REQUSET['title'];

更多阅读a()to()