2016-05-20 6 views
1

listviewで余分なパラメータを渡す方法。 itemviewを関数として挿入するlistviewの余分なパラメータを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], 
]); ?> 

viewparamsは、itemviewのみを取得します。これを修正するには、次のようにします。

答えて

0

docsから$viewParamsへ。

レンダリング時に$itemViewに渡す追加パラメータ。このプロパティは、$itemViewがビュー名を表す文字列 である場合にのみ使用されます。

だから、コールバック内の他のparamsと一緒にそれを渡す必要があります。

'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にビュー名を表す文字列を使用し、他のパラメータをと$indexがデフォルトで渡されるため、viewParamsに渡すことができます。 docs to $itemViewを参照してください。

関連する問題