doudu9094 2018-05-29 02:15
浏览 255
已采纳

如何使用Yii2 DetailView在后端渲染前端图像?

I want to render/show an image in a view on backend, but the image location is in frontend/web/uploads.

I tried doing this on the DetailView::widget():

...
[
    'attribute'=>'image',
    'value'=>('/frontend/web/uploads/'.$model->image),
    'format' => ['image',['width'=>'100','height'=>'100']],
],

But the image is not showing up. Any help?

  • 写回答

3条回答 默认 最新

  • drl57959 2018-05-29 09:57
    关注

    If this is the only place where you're linking to frontend from backend, the easiest way would be defining alias in your backend config:

    Yii::setAlias('@frontendUploads', 'https://repasca.devs/uploads');
    

    And use this alias for building file URL:

    [
        'attribute' => 'image',
        'value' => Yii::getAlias('@frontendUploads') . '/' . $model->image,
        'format' => ['image', ['width' => '100', 'height' => '100']],
    ],
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?