从 DataProvider 值 yii2 设置页面标题

Set page title from DataProvider value yii2

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

<?= 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 页面 所以我想发送单击按钮所在行的 title,以便 在 checkin/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 的值作为相关 table 并且在 checkin/index 页面上我使用 gridview 和 relation 来显示标题直接使用 event.title

$this->title = isset($dataProvider->models[0]->title) ? $dataProvider->models[0]->title : 'empty result';

例如,

'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() and to()