Вывод картинок в модуле.

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
_dark
Сообщения: 3
Зарегистрирован: 2017.09.18, 17:26

Вывод картинок в модуле.

Сообщение _dark »

Хелп уважаемые гуру!
Создал модуль park, в нем папку web/auto/4567/images
Загружаю картинку:

Код: Выделить всё

namespace app\modules\park\models;
use yii\base\Model;
use yii\web\UploadedFile;

class UploadForm extends Model {
    public $imageFile;
    public function rules() {
        return [
            [['imageFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'jpeg, jpg'],
        ];
    }    
    public function upload($path) {
        if ($this->validate()) {
            $this->imageFile->saveAs($path . 'images/' . $this->imageFile->baseName . '.' . $this->imageFile->extension);
            return true;
        } else return false;
    }
}
Все отлично грузиться. Пытаюсь достать их и отобразить во вьюшке в том же модуле:

Код: Выделить всё

$photo = FileHelper::findFiles($path.'images', ['only'=>['*.jpg','*.jpeg']]);

<div class="row">
	<?php if (!$photo) : ?>
		<div class="col-sm-12">
			<h5>Фотографий автомобиля <span style='color:red'><?= $auto->numm ?></span> нет...</h5>
		</div>
	<?php else : ?>
		<div class="col-sm-12">
		<?php for ($i = 0; $i < count($photo); $i++) : ?>
			<?php if ($i % 4 == 0 || $i == 0) { echo '<div class="row">'; } ?>
			<div class="col-sm-3">
				<img src="<?= \yii\helpers\Url::to($photo[$i]) ?>" class="img-responsive" alt="auto">
			</div>
			<?php if ($i % 4 == 0 || $i == 0) { echo '</div>'; } ?>
		<?php endfor; ?>
		</div>
	<?php endif; ?>
</div>
И ниразу не получается! Почему? Подскажите плиз.
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Вывод картинок в модуле.

Сообщение Dominus »

Смотрите пути, куда загружаете и откуда выводите.

Код: Выделить всё

$photo = FileHelper::findFiles($path.'images', ['only'=>['*.jpg','*.jpeg']]);
\yii\helpers\VarDumper::dump($path, 10, 1);
die;
Из сети доступна одна папка, это app/web
Загружайте в

Код: Выделить всё

Yii::getAlias('@webroot') . '/upload';
выводите

Код: Выделить всё

Yii::getAlias('@web') . '/upload/' . $imageName;
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
_dark
Сообщения: 3
Зарегистрирован: 2017.09.18, 17:26

Re: Вывод картинок в модуле.

Сообщение _dark »

Спасибо за ответ, но к сожалению не помог.
Если сделать простым контроллером, работает, а у меня это сделано модулем.
Поковыряв форум, понял, что модуль не имеет доступа к внешним ресурсам. :(
Как правильно это же сделать в модуле?
Аватара пользователя
Dominus
Сообщения: 892
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Вывод картинок в модуле.

Сообщение Dominus »

_dark писал(а): 2017.09.19, 19:46 Спасибо за ответ, но к сожалению не помог.
Если сделать простым контроллером, работает, а у меня это сделано модулем.
Поковыряв форум, понял, что модуль не имеет доступа к внешним ресурсам. :(
Как правильно это же сделать в модуле?

Код: Выделить всё

Yii::getAlias('@webroot') . '/upload';
и

Код: Выделить всё

Yii::getAlias('@web') . '/upload/' . $imageName;
Доступны из любого места приложения.

Для шаблона advanced немного по другому, там загружаются картинки в frontend/web/upload
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!
_dark
Сообщения: 3
Зарегистрирован: 2017.09.18, 17:26

Re: Вывод картинок в модуле.

Сообщение _dark »

Спасибо! Работает )
Ответить