2015-10-02 2 views
2

У меня есть мнение event и имеет кнопку дополнительных действий, который перенаправляет на checkin/index страницу вот мой GridViewУстановить заголовок страницы из значения DataProvider yii2

<?= 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 в соответствующей таблице и на checkin/index странице я использую GridView и соотношение для отображения названия непосредственно с помощью event.title

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

Вы хотите передать данные с url? –

+0

@InsaneSkulll Мне просто нужно установить заголовок страницы .. Во всяком случае я могу ... Поток вот так ... в строке «event/index» gridview пользователь нажмет на кнопку столбца действия, и он откроется 'checkin/index' для этой конкретной записи ... поэтому я хочу получить заголовок строки, где пользователь нажал и передать ее на следующую страницу, чтобы установить заголовок страницы –

+0

, вы можете просто передать данные с помощью URL-адреса и получить их на страницу желаний и передать ее в заголовок страницы. –

ответ

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().

+0

спасибо за вашу помощь еще раз ... это помогло .. Пришлось немного изменить его, но решила мою проблему –

Смежные вопросы