Reputation: 780
How do I use the values of the Serial Column as ranking?
Example:
If the value is 1, I show gold.png,
If value is 2, I show silver.png,
If value is 3, I show bronze.png,
I did so but gave not sure:
'columns' => [
[
'class' => 'yii\grid\SerialColumn',
'content' => function($model, $key, $index, $column) {
if ($index == 1) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-gold-icon.png');
}elseif ($index == 2) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-silver-icon.png');
}elseif ($index == 3) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-bronze-icon.png');
}else {
return Html::img(Yii::$app->request->BaseUrl.'/images/no-medal-icon.png');
}
}],
Upvotes: 0
Views: 1467
Reputation: 3008
Why don't you use a custom column?
'columns' => [
[
'format' => 'raw',
'header' => 'Rank',
'value' => function($model, $key, $index, $column) {
if ($index == 1) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-gold-icon.png');
}elseif ($index == 2) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-silver-icon.png');
}elseif ($index == 3) {
return Html::img(Yii::$app->request->BaseUrl.'/images/medal-bronze-icon.png');
}else {
return Html::img(Yii::$app->request->BaseUrl.'/images/no-medal-icon.png');
}
}],
Upvotes: 3