YII2 在 gridview 中插入图标

YII2 insert icon in the gridview

在网格视图中,有一个日期列。有时日期是空白的。我想要的是,如果日期为空,它将显示 "x" 红色图标,如果其中有日期,它将显示绿色的复选图标。在 gridview 中是如何完成的?

这是目前为止的代码...

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            [
                'attribute'=>'province',
                'value'=>'incomingSp.brgyCode.cityCode.province.prov_name',
            ],
            [
                'attribute'=>'city',
                'value'=>'incomingSp.brgyCode.cityCode.city_name',
            ],
            [
                'attribute'=>'brgy',
                'value'=>'incomingSp.brgyCode.brgy_name',
            ],
            [
                'attribute'=>'title',
                'value'=>'incomingSp.sp_title',
            ],

            'incoming_sp_id',
            'date_encoded',
            'encoded_by',
            ['class' => 'yii\grid\ActionColumn',
                'template'    => '{view}{update}{delete}',
            ],
        ],
    ]); ?>

像这样扩展 date_encoded 列声明:

[
    'attribute' => 'date_encoded',
    'format' => 'raw',
    'value' => function ($model) {
        if ($model->date_encoded === null) {
            return 'x'; // "x" icon in red color
        } else {
            return 'v'; // check icon 
        }
    },
],

官方文档:

我设置了"format"=>"html",然后可以显示为图标而不是原始文本