Отображение fotorama-widget на сайте блога

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Ответить
Radyar
Сообщения: 10
Зарегистрирован: 2017.07.19, 15:56

Отображение fotorama-widget на сайте блога

Сообщение Radyar »

Доброго времени суток!

Как настроить так, чтобы картинки после загрузки отображались в постах на локальном сайте во fronted?
Cейчас это получается только с виджетом-imperavi т.е. загружаются картинки в формате jpg, а в fotorama они видны только в админ.панеле в baсkend и на сайте в постах их нет.
Изображение
Изображение

view.php (backend)

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

<?php

use yii\helpers\Html;
use yii\widgets\DetailView;
use kartik\widgets\ActiveForm; // or yii\widgets\ActiveForm
use kartik\widgets\FileInput;
use yii\grid\GridView;
use metalguardian\fotorama;

// or 'use kartik\file\FileInput' if you have only installed 
// yii2-widget-fileinput in isolation
/* @var $this yii\web\View */
/* @var $model common\models\Blog */

$this->title = $model->title;
$this->params['breadcrumbs'][] = ['label' => 'Blogs', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="blog-view">

    <h1><?= Html::encode($this->title) ?></h1>

    <p>
        <?= Html::a('Update', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
        <?= Html::a('Delete', ['delete', 'id' => $model->id], [
            'class' => 'btn btn-danger',
            'data' => [
                'confirm' => 'Are you sure you want to delete this item?',
                'method' => 'post',
            ],
        ]) ?>
    </p>

    <?= DetailView::widget([
        'model' => $model,
        'attributes' => [
            'id',
            'title',
            'text:text',
            'url:url',
            'status_id',
            'sort',
            'author.username',
            'author.email',
            'tagsAsString',
            'smallImage:image',
        ],
    ]) ?>

 <?php 
    $fotorama = \metalguardian\fotorama\Fotorama::begin(
        [
            'options' => [
                'loop' => true,
                'hash' => true,
                'ratio' => 800/600,
            ],
            'spinner' => [
                'lines' => 20,
            ],
            'tagName' => 'span',
            'useHtmlData' => false,
            'htmlOptions' => [
                'class' => 'custom-class',
                'id' => 'custom-id',
            ],
        ]
    ); 
    foreach ($model->images as $one) {
     echo Html::img($one->imageUrl,['alt'=>$one->alt]);
       } 

     $fotorama->end(); ?>
    


</div>
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Отображение fotorama-widget на сайте блога

Сообщение ElisDN »

Прописывать абсолютные адреса с доменом фронтенда site.com или поддомена static.site.com
Radyar
Сообщения: 10
Зарегистрирован: 2017.07.19, 15:56

Re: Отображение fotorama-widget на сайте блога

Сообщение Radyar »

У меня домены прописаны так: site.com (fronted) и admin.site.com (backend)
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Отображение fotorama-widget на сайте блога

Сообщение ElisDN »

Вот и загружайте во frontend/web/uploads и генерируйте полные адреса:

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

<img src="http://site.com/upload/images/1.jpg" />
Radyar
Сообщения: 10
Зарегистрирован: 2017.07.19, 15:56

Re: Отображение fotorama-widget на сайте блога

Сообщение Radyar »

Что-то не совсем понятно, а где эту запись вставлять? И нужно ли что-то писать также вo view.php fronted?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Отображение fotorama-widget на сайте блога

Сообщение ElisDN »

В common/config/bootstrap.php:

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

Yii::setAlias('@upload', 'http://site.com/uploads');
Yii::setAlias('@uploadPath', '@frontend/web/uploads');
И потом в представлениях:

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

Html::img('@upload' . $one->imageUrl)
Ilya_s
Сообщения: 2
Зарегистрирован: 2017.08.12, 12:41

Re: Отображение fotorama-widget на сайте блога

Сообщение Ilya_s »

Здравствуйте! У меня проект разделён так:
1 папка - public_html, где есть 'admin', 'assets','css' и 'public_html\uploads\images\blog' в которую загружаются картинки и папка '50x50' и '800x' из 'fotorama-widget' и 'imperavi'
2 папка - yii2, где в 'vendor' подключён модуль блога.

Как правильно реализовать маршрут подключения картинок для отображения их в блоге на локальном сайте?

Правильно ли я понимаю, что

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

D:\sites\site\public_html\uploads\images\blog
в

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

'@uploadPath',
нужно указывать какой-то путь?

И где в представлениях писать

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

Html::img('@upload' . $one->imageUrl)
в common/config/main ?
Ответить