如何在gridview yii2中显示图像

如何在gridview yii2中显示图像,yii,Yii,我是yii新手,我想在gridview表中显示一个图像,任何帮助都将不胜感激,下面是我的代码 查看 <?= GridView::widget([ 'dataProvider' => $dataProvider, //'filterModel' => $searchModel, 'columns' => [ //['class' => 'yii\grid\SerialColumn'], 'product_id'

我是yii新手,我想在gridview表中显示一个图像,任何帮助都将不胜感激,下面是我的代码

查看

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    //'filterModel' => $searchModel,
    'columns' => [
        //['class' => 'yii\grid\SerialColumn'],

        'product_id',
        'name',
        'descr',
        'price',
         //'image',
          [
         'attribute'=>'image',
        'label'=>'Image',
        'format'=>'html',

         'value' => function ($data) {
                $url = \Yii::getAlias('@backend/web/').$data['image'];
                return Html::img($url, ['alt'=>'myImage','width'=>'70','height'=>'50']);
         }
         ],

         'views',
       ['class' => 'yii\grid\ActionColumn'],
    ],
    'tableOptions' =>['class' => 'table table-striped table-bordered'],
以上代码工作不正常无图像显示仅显示img alt
有关如何完成此工作的任何帮助,请参见

将图像列的“格式”指定为“原始”,并且$data应该是和对象,这样就可以使用$data->image访问“图像”字段

      [
     'attribute'=>'image',
    'label'=>'Image',
    'format'=>'raw',

     'value' => function ($data) {
            $url = \Yii::getAlias('@backend/web/').$data->image;
            return Html::img($url, ['alt'=>'myImage','width'=>'70','height'=>'50']);
     }
     ],

为图像列指定'format'到'raw',并且$data应该是和object,这样就可以通过$data->image访问'image'字段

      [
     'attribute'=>'image',
    'label'=>'Image',
    'format'=>'raw',

     'value' => function ($data) {
            $url = \Yii::getAlias('@backend/web/').$data->image;
            return Html::img($url, ['alt'=>'myImage','width'=>'70','height'=>'50']);
     }
     ],
检查图像路径, 你可以用

Yii::$app->request->baseUrl
如果索引文件位于根目录中

$url =Yii::$app->request->baseUrl.'/'.$data['image'];
检查图像路径, 你可以用

Yii::$app->request->baseUrl
如果索引文件位于根目录中

$url =Yii::$app->request->baseUrl.'/'.$data['image'];
以下是解决方案:

[
      'attribute' => 'Icon',
      'format' => 'html',
      'label' => 'Icon',
      'value' => function ($data) {
      return Html::img(Yii::$app->request->BaseUrl.'/uploads/path/' . $data['Icon'],
      ['width' => '60px']);
     },
],
以下是解决方案:

[
      'attribute' => 'Icon',
      'format' => 'html',
      'label' => 'Icon',
      'value' => function ($data) {
      return Html::img(Yii::$app->request->BaseUrl.'/uploads/path/' . $data['Icon'],
      ['width' => '60px']);
     },
],

您的问题是映像路径。您的问题是映像路径。