2017-02-24 33 views
1

我有一個數組,車輛,「ID」和「車」,這樣的數據庫表:Yii2 - 陣列URL:■ListView中

Vehicles 
1.Car 
2.Truck 
3.Bicycle 
4.Motorcycle 

我讓表的模型,CRUD它,我給這個生成的代碼中vehicle/index

<?= ListView::widget([ 
    'dataProvider' => $dataProvider, 
    'itemOptions' => ['class' => 'item'], 
    'itemView'  => function ($model, $key, $index, $widget) { 
     return Html::a(Html::encode($model->vehicle), ['view', 'id' => $model->id]); 
    }, 
]) ?> 

我現在看到我的所有車輛作爲鏈接列表:

Car, 
Truck, 
Bicycle, 
Motorcycle 

我想要什麼,是鏈接讓我在某處,像這樣:

Car  - vehicles/car, 
Truck - vehicles/truck 
...etc 

我將不得不硬編碼的路徑,我猜。 在上面給出的Html :: a函數中有沒有一種方便的方法來實現這一點? 或者我應該使用另一種類型的功能?

+0

再添加一個列到車輛表爲'路徑'。在HTML:a標籤的'網址'字段中使用此字段。 –

+0

謝謝。這個選項也出現在我的腦海裏......不是一個壞主意。 –

回答

0

可以使用urlManager

return Html::a(Html::encode($model->vehicle), 
     ['/your-controller/your-action', 'id' => $model->id]); 

假設你的控制器的名字車輛和$模型 - >名字你有車,還是Trukck ...

 return Html::a(Html::encode($model->vehicle), 
     ['/vehicle/'. $model->name, 'id' => $model->id]); 
+0

謝謝。會給它一個測試! –