Yii2 Imperavi Redactor

Выкладываем свои наработки
Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2 Imperavi Redactor

Сообщение vova07 » 2015.05.13, 12:40

Извиняюсь за поздние ответы, сильно сейчас занят!
Halumein писал(а):Вижу плагин есть в папке виджета, но как его использовать? По аналогии с http://imperavi.com/redactor/plugins/limiter/ что-то не работает
Проверил ваши настройки, все работает как предусмотрено. Возможно у вас есть какие либо JS конфликты. Проверьте работоспособность на голом проекте, если заработает, то что-то точно конфликтует.
celsoft писал(а):Не совсем понял для чего так сделано. Ведь для изображений есть отдельный загрузчик. Как минимум нужно было хотя бы минимальный набор расширений по умолчанию сделать. Я имею ввиду файловый загрузчик. Ну да ладно, не суть.
Я вас не совсем понял. В расширении есть все нужные экшены и инструменты для загрузки как изображений так и других файлов. Загрузка изображения ничем не отличается от загрузки любого другого файла, только тем что валидация другая. (для этого и есть опция) Я не думаю что мне стоило делать абсолютно идентичные экшены, с двумя разными строками. Я сторонник правильного стиля программирования.
Кстати, для загрузки файла нужно добавить свой экшен в контролере с нужными настройками, а для изображения другой экшен с другими уже настройками.
celsoft писал(а):Хотелось бы увидеть ошибки через alert хотя бы, а не в консоли (первый скрин). Ведь не каждый додумается залезть и посмотреть ответ, когда что-то не загружается.
Да, вы правы, добавлю как только появится свободная минутка.
celsoft писал(а):По поводу третьего. Прикрепил скрин с офф. сайта. Там input по центру + пишет что файлы можно загружать перетаскивая. Сравните и поймете о чем я. Мелочь, но приятно. :D
Теперь я понял. Попробую найти косяк.

Halumein
Сообщения: 9
Зарегистрирован: 2015.02.13, 09:34

Re: Yii2 Imperavi Redactor

Сообщение Halumein » 2015.05.13, 16:33

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

У меня использовалось на странице два виджета (поля "анонс новостей" и "текст новости"), что бы лимитер работал, плагин нужно было подключить в обоих виджетах (в том, где лимит не нужен - убрать параметр 'limiter' => 10 ).

Xusnitdin
Сообщения: 3
Зарегистрирован: 2015.05.23, 18:11

Re: Yii2 Imperavi Redactor

Сообщение Xusnitdin » 2015.05.23, 19:38

Добрый вечер. Столкнулся несколько проблемами.
Код в контроллере:

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

public function actions()
    {
        return [
            
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => '/images/blog/', // Directory URL address, where files are stored.
                'path' => '@webroot/../images/blog/' // Or absolute path to directory where files are stored.
            ],
            
            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => 'http://bk/images/blog/', // Directory URL address, where files are stored.
                'path' => '/var/www/bk/www/images/blog/', // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_IMAGES',
            ],

            'files-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => '/files/blog/', // Directory URL address, where files are stored.
                'path' => '/var/www/bk/www/files/blog/', // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_FILES',//GetAction::TYPE_FILES,
            ],

            'file-upload' => [
                    'class' => 'vova07\imperavi\actions\UploadAction',
                    'url' => '/files/blog/', // Directory URL address, where files are stored.
                    'path' => '@webroot/../files/blog/', // Or absolute path to directory where files are stored.
                    'uploadOnlyImage' => false,
                    'validatorOptions' => [
                        'maxSize' => 104857600
                    ]
                ],
        ];
    }
код в представление:

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

$form->field($model, 'text')->widget(Widget::classname(), [
           'settings' => [
                'minHeight' => 300,
                'pastePlainText' => true,
                'buttonSource' => true,
                'plugins' => [
                    'imagemanager',
                    'filemanager',
                    'clips',
                    'fullscreen'
                ],
                'imageUpload' => Url::to(['/article/image-upload']),
                'imageManagerJson' => Url::to(['/article/images-get']),
                'fileManagerJson' => Url::to(['/article/files-get']),
                'fileUpload' => Url::to(['/article/file-upload'])
           ]
        ]);
1) Кликаю на кнопку загрузки файлов, получаю список файлов из сервера но в окне не отображается.
С рисунками тоже такое дело.
Вложения
4.png
4.png (93.44 КБ) 5962 просмотра
1.png
1.png (97.1 КБ) 5962 просмотра

Xusnitdin
Сообщения: 3
Зарегистрирован: 2015.05.23, 18:11

Re: Yii2 Imperavi Redactor

Сообщение Xusnitdin » 2015.05.23, 19:40

2) Загружаю файл менще 2мб загружается, но загружаю больще 10 мб не загружается.
Вложения
2.png
2.png (102.18 КБ) 5961 просмотр
3.png
3.png (119.93 КБ) 5961 просмотр

Xusnitdin
Сообщения: 3
Зарегистрирован: 2015.05.23, 18:11

Re: Yii2 Imperavi Redactor

Сообщение Xusnitdin » 2015.05.23, 19:43

Помогите пожалуйста. В чем проблема незнаю.

Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2 Imperavi Redactor

Сообщение vova07 » 2015.05.29, 22:50

Xusnitdin писал(а):Помогите пожалуйста. В чем проблема незнаю.
Исправил в новой версии.
Обновитесь пожалуйста и проверьте. Буду благодарен за ответ.
Спасибо за репорт!

555666777
Сообщения: 1
Зарегистрирован: 2015.08.12, 18:51

Re: Yii2 Imperavi Redactor

Сообщение 555666777 » 2015.08.12, 19:08

Центрирование кнопки выбора файла bootstrap.css губит.
/* input[type="file"] {
display: block;
} */

Для восстановления центрирования нужно
#redactor-droparea-placeholder input {
margin: auto;
}
в свой css добавить.

Winter_Silence
Сообщения: 21
Зарегистрирован: 2012.07.19, 10:11

Re: Yii2 Imperavi Redactor

Сообщение Winter_Silence » 2015.08.17, 23:28

Приветствую!
Не подскажете, есть ли какая-нибудь возможность при загрузке файла добавлять тегу <a> свой класс или это не предусмотрено в API Imperavi и без костылей в данном случае не обойтись?

demiurge
Сообщения: 16
Зарегистрирован: 2015.08.25, 13:06

Re: Yii2 Imperavi Redactor

Сообщение demiurge » 2015.08.26, 13:30

Что-то не работает (или не так что-то сделал) загрузка картинок.

View:

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

echo $form->field($model, 'message')->widget(Widget::className(), [
                'settings' => [
                    'lang' => 'ru',
                    'minHeight' => 200,
                    'imageManagerJson' => Url::to(['/images']),
                    'plugins' => [
                        'imagemanager',
                        'clips',
                        'fullscreen'
                    ],
                    'imageUpload' => Url::to(['/images']),
                ]
            ]);
Controller:

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

public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => 'http://test/images/', // Directory URL address, where files are stored.
                'path' => '/var/www/test/public/frontend/web/images', // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_IMAGES',
            ],
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => 'http://test/images/', // Directory URL address, where files are stored.
                'path' => '/var/www/test/public/frontend/web/images' // Or absolute path to directory where files are stored.
            ],
        ];
    }
Жму пиктограммку на редакторе, выбираю файл, отправляю, выскакивает алерт "true", но картинка так и не загружается.
Может с путями что не так?

Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2 Imperavi Redactor

Сообщение vova07 » 2015.08.26, 14:58

Убедитесь что атрибут "message" который вы используете для загрузки изображений доступен для массового присваивания. Возможно дело в том что оно не заполняется и поведение не видит ничего что можно загружать.

demiurge
Сообщения: 16
Зарегистрирован: 2015.08.25, 13:06

Re: Yii2 Imperavi Redactor

Сообщение demiurge » 2015.08.26, 16:47

1. Поставил с нуля Yii2 advanced.
2. Установил Imperavi Redactor Widget for Yii 2.

Файл view.php

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

<?php

/* @var $this yii\web\View */

use yii\helpers\Url;

$this->title = 'My Yii Application';
?>
<div class="site-index">

    <?php

    echo \vova07\imperavi\Widget::widget([
        'name' => 'redactor',
        'settings' => [
            'lang' => 'ru',
            'minHeight' => 200,
            'plugins' => [
                'clips',
                'fullscreen'
            ],
            'imageUpload' => Url::to(['/default/image-upload'])
        ]
    ]);

    ?>

</div>
Файл Controller.php

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

public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored.
                'path' => '@alias/to/my/path' // Or absolute path to directory where files are stored.
            ],
        ];
    }
Всё, больше ничего не трогал. Скажите, какие прописать пути, чтобы начали грузиться картинки?

Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2 Imperavi Redactor

Сообщение vova07 » 2015.08.26, 17:16

Попробуйте для теста в веб директорию.

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

'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored.
                'path' => '@webroot/images' // Or absolute path to directory where files are stored.
            ], 
Должно грузить в "webroot/images"

demiurge
Сообщения: 16
Зарегистрирован: 2015.08.25, 13:06

Re: Yii2 Imperavi Redactor

Сообщение demiurge » 2015.08.26, 17:28

Создал в /frontend/web папку images.
Выставил на неё все права.
Нажимаю в редакторе пиктограмму для загрузки картинок, выбираю файл (png), жму "Открыть", вылетает алерт "true".
Захожу в папку images, там пусто.
Прикладываю скрин, консоль ругается на image-upload.
Также там же создавал такую папку, всё-равно ругалась.

controller.php

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

public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => 'http://my-site.com/images/', // Directory URL address, where files are stored.
                'path' => '@webroot/images' // Or absolute path to directory where files are stored.
            ],
        ];
    } 
Изображение

skyspear
Сообщения: 1
Зарегистрирован: 2015.12.10, 16:38

Re: Yii2 Imperavi Redactor

Сообщение skyspear » 2015.12.10, 16:41

Здравствуйте.спасибо за работу.
выставил public $uploadOnlyImage = false; все равно при аплоаде некартинки (скажем эксель) - выскакивает ошибка указывающая что файл не является картинкой. как исправить это и заставить литься файлы всех типов?

sinclair
Сообщения: 1
Зарегистрирован: 2015.12.16, 13:37

Re: Yii2 Imperavi Redactor

Сообщение sinclair » 2015.12.16, 13:45

Поясните пожалуйста про редактирование всплывающей подсказки при наведении мыши на кнопку в тулбаре
Объявляю виджет так:
<?= $form->field($model, 'description')->widget(Imperavi::class, [
'settings' => [
'lang' => 'ru'
],
]) ?>
Мне нужно для кнопки 'bold' для русского языка заменить подсказку с "Полужирный" на свою. В документации про это не нашёл

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

Re: Yii2 Imperavi Redactor

Сообщение ElisDN » 2015.12.16, 20:11

sinclair писал(а):Мне нужно для кнопки 'bold' для русского языка заменить подсказку с "Полужирный" на свою.

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

'settings' => [
    'langs' => [
        'ru' => [
            'bold' => 'Жирный',
        ],
    ],
], 

Vitek25
Сообщения: 5
Зарегистрирован: 2014.07.07, 15:26

Re: Yii2 Imperavi Redactor

Сообщение Vitek25 » 2016.01.16, 16:49

спасибо за расширение.
При загрузки картинок столкнулся с вот такой бедой
http://joxi.ru/DmBPRwuNqvNBAP

вьюха

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

       ->widget(Widget::className(), [
           'settings' => [
               'lang' => Yii::$app->language,
               'minHeight' => 200,
               'plugins' => [
                   'imagemanager',
               ],
               'imageUpload' => Url::toRoute(['static-page/image-upload']),
               'imageManagerJson' => Url::toRoute(['static-page/images-get']),
           ],
       ])
контроллер

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

 public function actions()
    {
        $shopName = $this->shop->getShopName();
        return [
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
            ],

            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_IMAGES',
            ],
        ];
    }
Еще хотел спросить по поводу перевода кнопок, upload и choose, можно ли их перевести?

Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: Yii2 Imperavi Redactor

Сообщение vova07 » 2016.01.19, 01:06

Vitek25 писал(а):спасибо за расширение.
При загрузки картинок столкнулся с вот такой бедой
http://joxi.ru/DmBPRwuNqvNBAP

вьюха

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

       ->widget(Widget::className(), [
           'settings' => [
               'lang' => Yii::$app->language,
               'minHeight' => 200,
               'plugins' => [
                   'imagemanager',
               ],
               'imageUpload' => Url::toRoute(['static-page/image-upload']),
               'imageManagerJson' => Url::toRoute(['static-page/images-get']),
           ],
       ]) 
контроллер

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

 public function actions()
    {
        $shopName = $this->shop->getShopName();
        return [
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
            ],

            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_IMAGES',
            ],
        ];
    } 
Еще хотел спросить по поводу перевода кнопок, upload и choose, можно ли их перевести?
Можете написать "УРЛ" картинок по которым виджет пытается их найти. Ну или скрин с открытым дебагером где это можно увидеть.
Что касается перевода, не уверен так как это функционал самого JS редактора, но можете попробовать задать русский язык для редактора, возможно это поможет.

Vitek25
Сообщения: 5
Зарегистрирован: 2014.07.07, 15:26

Re: Yii2 Imperavi Redactor

Сообщение Vitek25 » 2016.01.19, 15:01

vova07 писал(а):
Vitek25 писал(а):спасибо за расширение.
При загрузки картинок столкнулся с вот такой бедой
http://joxi.ru/DmBPRwuNqvNBAP

вьюха

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

       ->widget(Widget::className(), [
           'settings' => [
               'lang' => Yii::$app->language,
               'minHeight' => 200,
               'plugins' => [
                   'imagemanager',
               ],
               'imageUpload' => Url::toRoute(['static-page/image-upload']),
               'imageManagerJson' => Url::toRoute(['static-page/images-get']),
           ],
       ])
контроллер

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

 public function actions()
    {
        $shopName = $this->shop->getShopName();
        return [
            'image-upload' => [
                'class' => 'vova07\imperavi\actions\UploadAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
            ],

            'images-get' => [
                'class' => 'vova07\imperavi\actions\GetAction',
                'url' => '/uploads/shop_'.$shopName, // Directory URL address, where files are stored.
                'path' => '@frontend/web/uploads/shop_'.$shopName, // Or absolute path to directory where files are stored.
                'type' => '\vova07\imperavi\actions\GetAction::TYPE_IMAGES',
            ],
        ];
    }
Еще хотел спросить по поводу перевода кнопок, upload и choose, можно ли их перевести?
Можете написать "УРЛ" картинок по которым виджет пытается их найти. Ну или скрин с открытым дебагером где это можно увидеть.
Что касается перевода, не уверен так как это функционал самого JS редактора, но можете попробовать задать русский язык для редактора, возможно это поможет.
Вот скриншот с инспектором http://joxi.ru/5mdqnyTvqyQG21

Указал ->widget(Widget::className(), [
'settings' => [
'lang' => 'ru',
'minHeight' => 200,
...
все равно на англ, попробую еще в js поколупаться и отпишусь

cocostru
Сообщения: 1
Зарегистрирован: 2013.05.06, 04:32

Re: Yii2 Imperavi Redactor

Сообщение cocostru » 2016.02.08, 20:22

Народ, имейте ввиду, что малейшее вмешательство в родной redactor.css результирует полным игнорированием любых плагинов. Возможно не всегда и не у всех. Однако, я потратил пол дня на данную проблему (игнорирование плагинов и без жалоб на какие либо ошибки), пока, перечитывая в который раз эту ветку, чье то замечание про стили не заставило меня вспомнить, что я менял одно единственное свойство (цвет фона, т.к. было напрочь не видно ничего белого на нем) в родном redactor.css - откат решил все... Возможно кому-то поможет.

Ответить