Страница 1 из 1

насчет загрузчика фото

СообщениеДобавлено: 29 дек 2019, 13:39
vanred79
Здравствуйте! Пытаюсь перенести загрузчик фото новой версии на свою старую. Что сделал для этого:
1) добавил в БД таблицу ore_images, перенес все столбцы
2) добавил в папку \protected\modules модуль images из последней версии и подключил его и его компоненты в \protected\config\main.php
3) добавил в файлы widgetAdminImages.php, widgetAdminViewImages.php, widgetImages.php в папку \modules\images\views
4) в файле \protected\modules\apartments\models\Apartment.php добавил в public function relations() вот эту строку 'images' => array(self::HAS_MANY, 'Images', 'id_object', 'order' => 'images.is_main DESC, images.sorter'),
5) в файле \protected\modules\userads\views\_form.php добавил такой код:
Код: Выделить всё
<div class="tab-pane" id="tab-images">
                    <div class="flash-notice"><?php echo tc('You can change the order of photos, holding and dragging the left area of the block.'); ?></div>
                    <?php
                    $this
->widget('application.modules.images.components.AdminImagesWidget', array(
                        'objectId' => $model->id,
                    ));
                    ?>
                </div>

6) в папке uploads создал папку objects

После выше перечисленных действии появилась форма добавления фото, но после выбора фото, выходит ошибка см Скрин. Подскажите пожалуйста, как можно устранить эту ошибку. Думаю я что-то упустил, но не могу понять что

Re: насчет загрузчика фото

СообщениеДобавлено: 29 дек 2019, 13:42
vanred79
Забыл сказать, что
7) добавил EAjaxUpload в папку C\protected\extensions\

Re: насчет загрузчика фото

СообщениеДобавлено: 29 дек 2019, 17:43
vanred79
Проблему с этой ошибкой решил, нужно было добавить этот код:
Код: Выделить всё
public function isOwner($orAdmin = false)
    {
        $isOwner = ($this->owner_id == Yii::app()->user->id);
        if ($isOwner || ($orAdmin && Yii::app()->user->checkAccess('backend_access'))) {
            return true;
        }
        return false;
    

Но возникла другая ошибка Getting content length is not supported.
Подскажите пожалуйста где копать, чтобы исправить эту ошибку

Re: насчет загрузчика фото

СообщениеДобавлено: 30 дек 2019, 16:22
vanred79
Нормально заработал загрузчик от ORE 1.4. Осталось только задать максимальное количество фото. Подскажите qqFileUploader это поддерживает или как то по другому этот вопрос решать?

Re: насчет загрузчика фото

СообщениеДобавлено: 01 янв 2020, 00:56
vanred79
Возможно кому то понадобится добавить ограничение на кол-во фото в загрузчике EAjaxUpload. Для этого нужно в файле \protected\extensions\EAjaxUpload\assets\fileuploader.js найти вот это место
Код: Выделить всё
_uploadFileList: function(files){ 
и добавить вот этот код
Код: Выделить всё
if (files.length>6) {alert('You cannot upload more than 6 images!'); files.length 0; return;} 
, в итоге должно получиться вот так:
Код: Выделить всё
_uploadFileList: function(files){
        if (
files.length>6) {alert('You cannot upload more than 6 images!'); files.length 0; return;}
        for (var 
i=0i<files.lengthi++){
            if ( !
this._validateFile(files[i])){
                return;
            }
        }

        for (var 
i=0i<files.lengthi++){
            
this._uploadFile(files[i]);
        }
    },