我的图像在/ backend / web / uploads中。 现在我想在/ frontend / views / site / index
中显示它们因此,在索引视图中,我试图像这样展示它们:
$planet = Planet::find()->all();
foreach($planet AS $pl=> $p){
echo Html::img('/backend/web/'.($p->path));
}
in $ p-> path - uploads / 123.jpg
但是此路径无效,我该如何显示图像 / backend / web / uploads / frontend / views / site / index?
答案 0 :(得分:4)
已经回答here。
实现这一目标有两个主要选择。
1)您可以创建从frontend/web/images
到backend/web/images
的别名,以便从前端显示后端的图像。
从ln -s ../../frontend/web/images images
文件夹运行backend/web
。在执行此操作之前,最好删除目标文件夹(backend/web/images
)。
2)从这样的目录发布图像的替代方法是为该文件夹创建资产包,这样就可以在frontend/web/assets
中复制图像。您可以在official docs中了解有关资产包的更多信息。
答案 1 :(得分:0)
转到您的{%- for item in row %}
{% if loop.index==1 %}
<tr id="rec{{item}}"
{% elif loop.index==2 %}
class="{{item}}" >
{% else %}
<td>{{item}}</td>
{% endif %}
{% endfor -%}</tr>
并添加:
id="rec"+row.pop()
class=row.pop()
然后您可以像这样使用它:
frontend/config
答案 2 :(得分:0)
我是通过为后端图像和前端图像创建一个目录来做到这一点的:
在我的common / config / bootstrap.php中:
Yii::setAlias('@root', dirname(dirname(__DIR__)));
在我的common / config / main.php中:
'modules' => [
'yii2images' => [
'class' => 'rico\yii2images\Module',
//be sure, that permissions ok
//if you cant avoid permission errors you have to create "images" folder in web root manually and set 777 permissions
'imagesStorePath' => '@root/upload/store', //path to origin images
'imagesCachePath' => '@root/upload/cache', //path to resized copies
'graphicsLibrary' => 'GD', //but really its better to use 'Imagick'
'placeHolderPath' => '@root/upload/store/no-image.png', // if you want to get placeholder when image not exists, string will be processed by Yii::getAlias
'imageCompressionQuality' => 85, // Optional. Default value is 85.
],
]
并在根项目目录中创建了“ imagesStorePath”和“ imagesCachePath”。