я новичок в 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 ..
заранее благодарю за помощь.
используйте код ниже
echo Html::a('Name', ['controller/action'], [
'class'=>'classname',
'data'=>[
'method'=>'post',
'confirm'=>'Are you sure? OK to continue Retract..',
'params'=>[
'param1'=>'value',
.......,
],
]
]);
«все в параметре данных должно быть отправлено по почте», почему вы в это верите? Я не могу найти ничего в документах, что что-то в «данных» будет отправлено по почте.
Вы также можете:
Попробуйте отправить по сеансу:
'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');