VladOsadchyi
@VladOsadchyi
Студент

Как в urlCreator() передать стороннюю переменную?

При генерации ссылок для ActionColumn GridView::widget, нужно передать гет параметр, который хранится в отдельной переменной, как это сделать?
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Переопределить кнопки в ActionColumn.
Приблизительно так:
[
   'class' => 'yii\grid\ActionColumn',
   'buttons' => [
        'view' => function($url, $model, $key){
            return Html::a('view',$url . '/car/' . $model->username ); // в общем подставьте свои параметры.
        },
        'update' => function($url, $model, $key){
            // your code
        },
        'delete' => function($url, $model, $key){
            // your code
        }        
    ]
]

Можно даже добавить свою кнопку))) Только тогда надо переопределить шаблон для кнопок
Вот как-то так:
[
   'class' => 'yii\grid\ActionColumn',
   'template' => '{view} {update} {delete} {customButton}',
   'buttons' => [
        'view' => function($url, $model, $key){
            return Html::a('view',$url . '/car/' . $model->username ); // в общем подставьте свои параметры.
        },
        'update' => function($url, $model, $key){
            // your code
        },
        'delete' => function($url, $model, $key){
            // your code
        },
        'customButton' => function($url, $model, $key){
              return Html::a('CustomButton', ['/site/index']); // параметры, конечно же, подставьте свои.
       }      
    ]
]

А параметр можно передать так:
'view' => function($url, $model, $key) use ($your_param){
            return Html::a('view',$url . '/car/' . $your_param ); // в общем подставьте свои параметры.
        },
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы