2016-05-20 5 views
1

wie Sie zusätzliche Parameter in listview übergeben. Incase der itemview als FunktionSo übergeben Sie zusätzliche Parameter in der Listenansicht im Fall von itemView als Funktion in yii2

<? 
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], 
]); ?> 

ist der viewparams bekommen nur die itemview String type.how dies zu beheben.

Antwort

0

Von Docs zu $viewParams.

Zusätzliche Parameter, die an $itemView übergeben werden, wenn gerendert wird. Diese Eigenschaft wird nur verwendet, wenn $itemView eine Zeichenfolge ist, die einen Ansichtsnamen darstellt.

So müssen Sie es passieren mit anderen params in Rückruf an:

'itemView' => function ($model, $key, $index, $widget) { 
    return $this->render('_itembookingview', [ 
     'model' => $model, 
     'index' => $index, 
     'dataType' => $dataType, 
     // Pass as many params as you want here 
    ]); 
}, 

Aber aus dem Code Ich erhalte keinen Nutzen diese zu verwenden. Sie können die Zeichenkette für den Namen der Ansicht in itemView verwenden und andere Parameter in viewParams übergeben, da $model und $index standardmäßig übergeben werden. Siehe Dokumentation unter $itemView.

Verwandte Themen