[РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Проблемы vova07/yii2-imperavi-widget

Сообщение vova07 »

Да честно даже не знаю с чем это связано. Все может быть, настройки сервера, неправильные пути, неправильные руты, все что угодно.
Аватара пользователя
dosomeweb
Сообщения: 24
Зарегистрирован: 2015.02.10, 04:33

Re: Проблемы vova07/yii2-imperavi-widget

Сообщение dosomeweb »

мда...задача...

других проблем с путями пока не было, шаблон базовый, в конфиге только включал prettyUrl. Буду думать. Спасибо за помощь.
Аватара пользователя
dosomeweb
Сообщения: 24
Зарегистрирован: 2015.02.10, 04:33

Re: Проблемы vova07/yii2-imperavi-widget

Сообщение dosomeweb »

Мда, господа, это тема создана в назидание людям, которые фанатично чем -либо увлекаются) Просто я сидел за YII около 15 часов уже и начал тупить, не заметив простую ошибку в пути, а именно:
Url-ы для модуля у меня формируются так:

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

mysite.ru/modulename/controller/action
я же зачем-то с упорством осла с моей аватарки пытался скормить ему

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

mysite.ru/module/modulename/controller/action
В общем, банальная и тупая ошибка.
Теперь видежет находит то, что ему надо для нормальной работы, но возникла проблема другая- я получаю ошибку
error 500 internal server error в отладчике

Права на папку стоят 755, на файл используемого контроллера 644

Логи апача у меня почему-то перестали писаться с недавних пор, пытаюсь исправить.
Есть у кого-нибудь соображения по поводу ошибки?
Аватара пользователя
dosomeweb
Сообщения: 24
Зарегистрирован: 2015.02.10, 04:33

Re: Проблемы vova07/yii2-imperavi-widget

Сообщение dosomeweb »

Уфф, работает! Опять тупил с путями, вместо @webroot указывал @root в пути сохранения изображения.

Всем спасибо, кто принимал участие в обсуждении. Вообще, Yii комьюнити на редкость приятное и отзывчивое.
mulat
Сообщения: 2
Зарегистрирован: 2015.04.20, 23:15
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение mulat »

vova07, спасибо за отличный виджет.
Столкнулся с небольшой проблемой с выбором загруженных изображений (с файлами то же самое).

Проблема
После клика на кнопку Choose - получаем окошко с битыми рамками от миниатюр.
В значениях src подставляются пути к изображениям вместо урлов.

Решение
В коде, приведённом ниже, я передал в 'options'  и параметр 'basePath'.
Это нужно для метода vova07\yii2-imperavi-widget\helpers\FileHelper::FindFiles($dir, $options = [],...).
Он сделает правильные src для картинок - заменит пути на урлы, используя 'basePath'.

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

// DefaultController.php
public function actions()
{
    return [
        'images-get' => [
            'class' => 'vova07\imperavi\actions\GetAction',
            'url' => 'http://my-site.com/images/', // URL адрес папки где хранятся изображения.
            'path' => '@alias/to/my/path', // Или абсолютный путь к папке с изображениями.
            'options' => ['basePath' => Yii::getAlias('@alias/to/my/path')],
            'type' => GetAction::TYPE_IMAGES,
        ]
    ];
}
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение vova07 »

@mulat Спасибо что поделились решением. Этот баг наблюдается только на "Windows" машинах. Скоро исправлю. А пока дам ссылку на ваш коммент для временного решения.
wpd
Сообщения: 161
Зарегистрирован: 2014.08.22, 12:34
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение wpd »

Мне это решение не помогло
http://ipic.su/img/img7/fs/kiss_23kb.1430419100.jpg


'images-get' => [
'class' => 'vova07\imperavi\actions\GetAction',
'url' => '/admin/uploads/images',
'path' => '@webroot/uploads/images',
'options' => ['basePath' => Yii::getAlias('@backend/web/uploads/images')],
'type' => 0,
],


хотя картинки по этому пути доступны....
Download TV Series in HD http://serialsfree.net/
wpd
Сообщения: 161
Зарегистрирован: 2014.08.22, 12:34
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение wpd »

и что? проблема так и остается не решенной ?
Download TV Series in HD http://serialsfree.net/
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение vova07 »

wpd писал(а):и что? проблема так и остается не решенной ?
Исправил в новой версии!
Спасибо!
wpd
Сообщения: 161
Зарегистрирован: 2014.08.22, 12:34
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение wpd »

Вам спасибо :)
Download TV Series in HD http://serialsfree.net/
jsman
Сообщения: 4
Зарегистрирован: 2016.06.03, 11:33

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение jsman »

Люди добрые, помогите разобраться!
путь до контроллера: common/modules/posts/controllers/PostController.php
путь до картинок: common/uploads
путь до виджета: common/modules/posts/views/post/_form.php

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

                'image-upload' => [
                    'class' => 'vova07\imperavi\actions\UploadAction',
                    'url' => 'http://blog.loc/common/uploads/',
                    'path' => 'common/uploads',
                ],

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

<?php echo $form->field($model, 'content')->widget(Widget::className(), [
    'settings' => [
        'lang' => 'ru',
        'minHeight' => 200,
        'imageUpload' => Url::to(['/post/image-upload'])

    ]
]); ?>
Как я только не переставлял пути, все равно вылазиет ошибка http://shot.qip.ru/00QlkY-33GS55Efm/
Failed to load resource: the server responded with a status of 404 (Not Found)
Что не так делаю?
Vad0k
Сообщения: 16
Зарегистрирован: 2016.11.30, 02:10
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение Vad0k »

Эх.. уже все что можно перечитал...
При подключении виджета (установил через компосер) в консоле бруазера вылезает ошибка, мол не хватает плагина Array.js

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

http://localhost/SmartPanda/Yii/web/assets/afde6452/plugins/Array/Array.js 404 (Not Found)
Действительно, по этому питу и даже в смежных нигде нету Array.js (+ на гите не нашел)
(поэкспериментировав с отключением виджета, что данный плагин ищется там).

При выборе изображения в консоле сообщает:

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

jquery.js:9175 GET http://localhost/SmartPanda/Yii/web/index.php?r=admin%2Farticle%2Fimage-upload&_=1495059674365 500 (Internal Server Error)
Путь верный, правда метода actionImageUpload не реализовывал ибо вроде как должно все в actions попасть.
вылетает ошибка:

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

An Error occurred while handling another error:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request: site/error' in D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Controller.php:127
Stack trace:
#0 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Module.php(523): yii\base\Controller->runAction('error', Array)
#1 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\web\ErrorHandler.php(95): yii\base\Module->runAction('site/error')
#2 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\BadRequestHttpException))
#3 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\BadRequestHttpException))
#4 {main}
Previous exception:
exception 'yii\web\BadRequestHttpException' with message 'Only POST is allowed' in D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\vova07\yii2-imperavi-widget\src\actions\UploadAction.php:150
Stack trace:
#0 [internal function]: vova07\imperavi\actions\UploadAction->run()
#1 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Action.php(94): call_user_func_array(Array, Array)
#2 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Controller.php(156): yii\base\Action->runWithParams(Array)
#3 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Module.php(523): yii\base\Controller->runAction('image-upload', Array)
#4 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\web\Application.php(102): yii\base\Module->runAction('admin/article/i...', Array)
#5 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#6 D:\OpenServer\OpenServer\domains\localhost\SmartPanda\Yii\web\index.php(12): yii\base\Application->run()
#7 {main}

На всякий случай показать, что контроллер и вид реализовал вроде как верно.

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

 <?php
   use vova07\imperavi\Widget;
   use yii\helpers\Html;
   use yii\helpers\Url;
   use yii\widgets\ActiveForm;
   
   ....
   	
    echo $form->field($model, 'article')->widget(Widget::className(), [
        'settings' => [
            'lang' => 'ru',
            'minHeight' => 500,
            'options' => array(
                'minHeight' => 300,
                'lang' => Yii::$app->language,
                'imageUpload' => Url::to(['article/image-upload']),
                'formatting' => array('p', 'blockquote', 'pre', 'h2', 'strong'),
            ),

            'imageUpload' => Url::to(['article/image-upload']),
            'imageManagerJson' => Url::to(['article/image-upload']),
            'fileManagerJson' => Url::to(['article/files-get']),
            'validatorOptions' => ['maxSize' => 40000],    //макс. размер файла
            'pastePlainText' => true,
            'buttonSource' => true,

            'plugins' => [
                'clips',
                //'table',
                'video',
                //'fontsize',
                'fontcolor',
                //'fontfamily',
                'imagemanager',
                'filemanager',
                'fullscreen' => array(
                    'js' => array('fullscreen.js',),
                ),
            ]
        ]
    ]);

    ?>

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

public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => Yii::getAlias('@web/images/article'),
                'path' => Yii::getAlias('@web/images/article'),
                'type' => GetAction::TYPE_IMAGES
            ],
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => Yii::getAlias('@web/images/article'),
                'path' => Yii::getAlias('@web/images/article')
            ],

            'files-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => Yii::getAlias('@web/images/article'), // Directory URL address, where files are stored.
                'path' => Yii::getAlias('@web/images/article'), // Or absolute path to directory where files are stored.
                'type' => GetAction::TYPE_FILES
            ],
            'file-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => Yii::getAlias('@web/images/article'), // Directory URL address, where files are stored.
                'path' => Yii::getAlias('@web/images/article'), // Or absolute path to directory where files are stored.
                'uploadOnlyImage' => false,
                'validatorOptions' => [
                    'maxSize' => 104857600
                ]
            ],


        ];
    }
Vad0k
Сообщения: 16
Зарегистрирован: 2016.11.30, 02:10
Контактная информация:

Re: [РЕШЕНО] Проблемы vova07/yii2-imperavi-widget

Сообщение Vad0k »

Как добавить генерируемым тегам свои атрибуты? К примеру хочу добавить при загрузке изображения атрибут class
Ответить