在kartik网格中显示图像显示路径

时间:2016-10-11 04:21:49

标签: yii yii2-advanced-app

我有一个网格,我想实现一个图像,但它总是返回图像的路径

这是代码:

[
    'attribute' => 'picture',
    'value'=>function($data) { return $data->imageurl; },
    'value' => function ($data) {
        return Html::img(Yii::getAlias('@web').'/images/user_accounts.png',
            ['width' => '70px']);
    },

],

我从This link得到的上述想法却失败了

我也尝试过:

[
    'attribute' => 'picture',
    'value'=>function($data) { return $data->imageurl; },

],

并添加了

public function getImageurl()
  {
      return \Yii::$app->request->BaseUrl.'/images/user_accounts.png';
  }

但它仍无法将图像显示到网格

这是显示的内容 enter image description here

3 个答案:

答案 0 :(得分:2)

试试这个:

[
    'attribute' => 'picture',
    'format' => 'html',    
    'value' => function ($data) {
        return Html::img(Yii::getAlias('@web').'/images/'. $data['imageurl'],
            ['width' => '70px']);
    },
],

答案 1 :(得分:1)

使用DataColumn类的format属性,默认情况下它使用文本格式,因此内容显示为文本而不是html。使用raw或html格式化程序

答案 2 :(得分:0)

>>>This may be helpfull too...  
          [  
            'attribute' => 'picture',  
            'format' => 'html',  
            'value' => function ($data) {  
                    return Html::img($data->imageurl,['width' => '80px']);  
             },  
             'filterType' => GridView::FILTER_SELECT2,  
             'filter' => '',  
             'filterWidgetOptions' => [  
                'pluginOptions' => ['allowClear' => true],  
              ],  
              'filterInputOptions' => ['placeholder' => 'Image Url'],  
          ],