从 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'];
我有一个视图 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'];