Как передать дополнительный параметр в просмотр списка. инкрустировать вид элемента как функцию
<?
echo ListView::widget( [
'dataProvider' => $dataProviderbooking,
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_itembookingview',['model' => $model,'index'=>$index]);
// or just do some echo
// return $model->title . ' posted by ' . $model->author;
},
'viewParams'=>['dataType'=>$dataType],
] ); ?>
viewparams это получить только itemview это тип строки. как это исправить.
От документов до $ viewParams.
Дополнительные параметры для передачи
$itemView
когда это происходит
оказаны. Это свойство используется только когда$itemView
это строка
представляет имя представления.
Поэтому вам нужно передать его вместе с другими параметрами в обратном вызове:
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_itembookingview', [
'model' => $model,
'index' => $index,
'dataType' => $dataType,
// Pass as many params as you want here
]);
},
Но из вашего кода я не получаю никакой выгоды от использования этого. Вы можете использовать строку, представляющую имя представления в itemView
и передать другие параметры в viewParams
, так как $model
а также $index
передаются по умолчанию. Смотрите документы для $ itemView.
Других решений пока нет …