Добрый день,
делаю загрузку и вывод изображений в постах с помощью
https://github.com/CostaRico/yii2-images.
Реализовал загрузку изображения пользователем из модуля, и на уровне этого модуля(личного кабинета) изображение отображается корректно. при выводе же в основном приложении, в списке постов, отображается значок битой ссылки.
Я так подозреваю, что абсолютный путь из модуля не тождественен абсолютному пути из приложения.
Как основное приложение заставить обращаться по пути модуля? Может кто-то сталкивался.
Как я выводил изображение из модуля в основное:
Контроллер записи:
class ProductController extends AppController{
public function actionView($id){
//$id = Yii::$app->request->get('id');
$product = Product::findOne($id);
if(empty($product)){
throw new \yii\web\HttpException(404, 'Такой страницы не существует');
}
$hits = Product::find()->where(['hit' => '1'])->limit(3)->all();
$this->setMeta('Maskota | '. $product->title, $product->keywords, $product->description);
return $this->render('view', compact('product', 'hits'));
}
}
Модель:
namespace app\models;
use yii\db\ActiveRecord;
class Product extends ActiveRecord{
public function behaviors()
{
return [
'image' => [
'class' => 'rico\yii2images\behaviors\ImageBehave',
]
];
}
public static function tableName(){
return 'product';
}
public function getCategory(){
return $this->hasOne(Category::className(), ['id' => 'category_id']);
}
}
Вид(вот тут я извратился(см.комменты)):
use yii\helpers\Html;
use app\models\Category;
//подключаю модель продукта
use app\models\Product;
//подключаю модель продукта в модуле, где описывался личный кабинет, где все сделано в соответствии с документацией yii2-images и работает корректно
use app\modules\products\models\Products;
?>
<!-- cart_max -->
<div class="row">
<div class="col-12 col-md-7">
<ul class="cart_max">
<?php
//В Products ищу соответствующую $product->id запись($product - это $product = Product::findOne($id);, описан в actionView выше)
$model = Products::findOne($product->id);
//к $model применяю функцию yii2-images getImage(); и получаю нужное изображение, вроде бы, норм
$imageTitle = $model->getImage();
?>
//Вызов url и подстановка в img. Полученное url ведет к "/yii2images/images/image-by-item-and-alias?item=Products9&dirtyAlias=d1a282a7bb-1.png", к этому же пути ведет и изображение в модуле при вызове функции, но изображение отображается.
<li><?=Html::img("" . $imageTitle->getUrl(), ['alt' => $product->title]) ?></li>
...