Я использую модуль yii2-images от CostaRico для своего приложения, и он отлично работает. Этот модуль может переименовывать, обрезать и хранить изображения в определенных папках, и он хорошо работает. Но когда я пытаюсь визуализировать изображение в моем виде, все, что я могу получить, это путь, подобный следующему:
/yii2images/images/image-by-item-and-alias?item=Product1&dirtyAlias=b6e73413ff-1_50x50.jpg
Это код виджета рендеринга:
<?php $imageOne = $model->getImage(); ?>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
'id',
'title',
'alias',
'price',
[
'attribute' => 'imageOne',
'value' => '<img src="' . $imageOne->getUrl('50x50') . '">',
'format' => 'raw',
],
'status',
'frontpage',
'primary_category',
'sku',
'short_desc:ntext',
'full_desc:html',
],
]) ?>
Обычно я бы обернул его img
тег и изображение должны быть предоставлены. Однако этого не произойдет. Браузер показывает статус 200, ОК. Изображение существует, и если я буду использовать путь, как показано ниже, я смогу увидеть его в своем представлении.
/upload/cache/Products/Product1/b6e73413ff-1_50x50.jpg
Также я попытался отрисовать это изображение с помощью добавления виджета DetailView. format
варианты как raw
а также html
но не повезло.
Я видел некоторых ребят на YouTube, использующих эти модули, и у них был такой же путь с параметрами, и все в порядке.
В чем может быть проблема? Это какая-то проблема маршрутизации? Я не изменил оригинальный модуль.
Бегство
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'category/<alias>/page-<page:\d+>' => 'category/view',
'category/<alias>' => 'category/view',
'product/<id:\d+>' => 'product/view',
'page/<alias>' => 'page/view',
'search' => 'category/search',
],
],
если у вас есть RBAC или ограниченный доступ для гостей
'as access' => [
...
'yii2images/*',
],
и маршрут
'image' => 'yii2images/images/image-by-item-and-alias',
Других решений пока нет …