как отправить параметры записи из yii2 gridview

я новичок в yii2. Я пытался отправить некоторые параметры в действие из представления, используя метод post, к сожалению, мое действие, похоже, не видит / не получает их. Помощь будет наиболее ценной.

моя колонка действует примерно так:

'buttons'=> [
'password'=> function ($url, $model, $key){
$url =$url = Url::toRoute(['users/reset-password', 'username' => $model->username]);
return Html::a('<span class="glyphicon glyphicon-asterisk"></span>',$url,[
'title'=>'Clave',
'data-confirm' => Yii::t('yii', 'Are you sure you want to change this password?'),
'data-method' => 'post',
'data' => ['username'=>$model->username, 'test-name'=>'this is just for testing'],
]);
},
.....

все в параметре данных должно быть отправлено по почте, но я получаю только токен csrf ..
заранее благодарю за помощь.

4

Решение

используйте код ниже

echo Html::a('Name', ['controller/action'], [
'class'=>'classname',
'data'=>[
'method'=>'post',
'confirm'=>'Are you sure? OK to continue Retract..',
'params'=>[
'param1'=>'value',
.......,
],
]
]);
7

Другие решения

«все в параметре данных должно быть отправлено по почте», почему вы в это верите? Я не могу найти ничего в документах, что что-то в «данных» будет отправлено по почте.
Вы также можете:

  1. используйте get для отправки параметров ИЛИ
  2. создайте форму и оберните ее вокруг ссылки. Он должен быть отправлен по почте.
2

Попробуйте отправить по сеансу:

'buttons'=> [<br/>
'password'=> function ($url, $model, $key){<br/>
Yii::$app->session->set('username',$model->username);<br/>
Yii::$app->session->set('test-name','this is just for testing');<br/>
$url =$url = Url::toRoute(['users/reset-password', 'username' => $model->username]);<br/>
return Html::a('<span class="glyphicon glyphicon-asterisk"></span>',$url,[<br/>
'title'=>'Clave',<br/>
'data-confirm' => Yii::t('yii', 'Are you sure you want to change this password?'),<br/>
'data-method' => 'post',<br/>

]);
},

На контроллере вызовите это:

Вы можете получить сессию:

Yii::$app->session->get('username');

И удалить сессию

Yii::$app->session->remove('username');
0
По вопросам рекламы [email protected]