Yii2 - передать переменную из представления в столбцы пользовательских действий Gridview
Я хочу сохранить последнее место, которое посетил пользователь, прежде чем нажать кнопку "Изменить" в виджетах gridview страницы. Я создал переменную с именем $lastAddress, но я действительно не знаю, как передать ее в gridview и добавить ее к переменной $url кнопки "Изменить". Может ли кто-нибудь показать мне, как?
$lastAddress = 'xxx';
<?=
GridView::widget([
...
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete}',
'buttons' => [
'update' => function ($url, $model) {
$url .= '&lastAddress=' . $lastAddress; //This is where I want to append the $lastAddress variable.
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
},
],
],
],
]);
?>
Ответы
Ответ 1
Используйте use
, чтобы передать переменные из родительской области в закрытие:
'update' => function ($url, $model) use ($lastAddress) {
$url .= '&lastAddress=' . $lastAddress; //This is where I want to append the $lastAddress variable.
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url);
},