Yii2: Визуальный редактор Imperavi Redactor
Мне приглянулся виджет от vova07 - https://github.com/vova07/yii2-imperavi-widget. Хорошо описан, удобен на формах. Устанавливается легко через composer. Пришлось повозиться с ошибкой неизвестного класс Widget. Локально composer быстро установил виджет. Но на хостинге нет composer, а просто залить файлы, в которые вносил изменения, оказалось недостаточным. Были видно какие-то добавления в папку vendors/composer, или ещё куда. Проблема решилась перезагрузкой всей папки vendors на хостинг.
Также похожие расширения:
- https://github.com/asofter/yii2-imperavi-redactor
- https://packagist.org/packages/zyx/yii2-imperavi-redactor
В контроллере добавил в actions()
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' => '/images/blog/', // Directory URL address, where files are stored. 'path' => '@webroot/images/blog/', // Or absolute path to directory where files are stored. 'type' => '0', ], 'files-get' => [ 'class' => 'vova07\imperavi\actions\GetAction', 'url' => '/files/blog/', // Directory URL address, where files are stored. 'path' => '@webroot/files/blog/', // Or absolute path to directory where files are stored. 'type' => '1',//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. ], ]; }
use vova07\imperavi\Widget;
<?= $form->field($model, 'text')->widget(Widget::classname(), [ 'settings' => [ 'lang' => 'ru', 'minHeight' => 300, 'pastePlainText' => true, 'buttonSource' => true, 'plugins' => [ 'clips', 'fullscreen' ], 'imageUpload' => Url::to(['/blog/image-upload']), 'imageManagerJson' => Url::to(['/blog/images-get']), 'fileManagerJson' => Url::to(['/blog/files-get']), 'fileUpload' => Url::to(['/blog/file-upload']) ] ]);?>
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 14 Разработка приложения на Yii. Урок 14: Выводим список категорий как новый виджет на сайте (29.04.2015)
- 13 Разработка приложения на Yii. Урок 13: Внедряем категории для статей. (29.04.2015)
- 12 Разработка приложения на Yii. Урок 12: Профилирование приложения, включаем кеширование. (20.01.2015)
- 11 Yiico. Видеокурс по разработке сайта на Yii. Урок 11: Отладка приложения, включаем журналирование. (20.01.2015)
- 10 Yiico. Видеокурс по разработке сайта на Yii. Урок 10: Если ваше приложение находится не в корневой папке, а во вложенной. (19.10.2014)
- 9 Разработка сайта на Yii с нуля. Урок 9. Выборка статей определённого автора. (13.08.2014)
- 8 Разработка сайта на Yii с нуля. Урок 8. Вызов в моделях функции, общей для них. Как избегать дублирования кода? (25.07.2014)
- 7 Разработка сайта на Yii с нуля. Урок 7. Изменение количества выводимых записей на странице в CGridView. Включаем сессии Yii. (04.09.2013)
- 6 Разработка сайта на Yii с нуля. Урок 6. Автоматич. отправка оповещений об одобренных комментариях на email автора комментария (11.08.2013)
- 5 Разработка сайта на Yii с нуля. Урок 5. Переименовываем blog в yiico. Изменяем "Home" в breadcrumbs. Включаем Gzip-сжатие. (09.08.2013)
- 4 Курс по Yii с нуля. Урок 4. Дорабатываем простую работу с пользователями: хранение пароля при редактировании пользователя. (13.04.2013)
- 3 Курс по Yii с нуля. Урок 3. Создаём новых пользователей. Организуем простую систему авторизации. Аутентификация, пароли, соли. (20.07.2014)
- 2 Yii + Git (github) на Mac. (24.03.2013)
- 2 Курс по Yii с нуля. Урок 2. Переносим и настраиваем Yii и проект нашего сайта на рабочем сервере. Избавляемся от index.php в url (09.07.2014)
- 1 Курс по Yii с нуля. Урок 1. Устанавливаем Yii на локальном компьютере. Заводим проект будущего сайта. (10.03.2013)
- 0 Composer – пакетный менеджер PHP. Что и как? (22.07.2014)
- 0 MySQL: проверить содержится ли значение в поле столбца (в столбце хранится строка значений через запятую) (22.05.2014)
- 0 Yii: Статичные страницы (создание, редактирование, удаление) (28.04.2014)
- 0 Yii: Расширение ECKEditor = Связка ckeditor + kcfinder (визуальный редактор с бесплатным файловым менеджером) (28.04.2014)
- 0 Yii: Bootstrap tabs, делаем активной вкладку на которую выполняется переход по ссылке (20.03.2014)
- 0 Yii: Доступ к атрибуту модели из файла шаблона (Вызов в шаблоне какого-либо атрибута модели). (17.02.2014)
- 0 Yii: Множественный автокомплит с помощью CJuiAutoComplete (автокомплит нескольких значений в одно поле) (07.02.2014)
- 0 Yii: Фотогалерея через поведение (доработка расширения imagesgallerymanager) (08.03.2016)
- 0 Yii: Установка и настройка Yii-app заготовки приложения от Crisu83 (09.03.2014)
- 0 Twitter Bootstrap Carousel Crossfade (09.09.2013)
6 комментариев
Так же поставил и настроил imperavi на YII2, но с картинками какая-то проблема...При попытке использовать уже загруженные картинки (image manager) показывает вместо файлов пустоту, причем количество пустых картинок равно количеству реальных файлов. Что-то с путями?
У меня загруженные ранее картинки работают, делал так:
В контроллере:
В представлении:
Привет. Может быть кому нибудь поможет (из тех кто будет искать позже).
Решением проблемы "{"error":"The file \"Doc_999e15b6b1a143f48e142872fdfd3b6b.pdf\" is not an image."} "
является использование "дополнительных параметров" в "actions" а именно:
'uploadOnlyImage' => false, //чтобы можно было загружать файлы
'validatorOptions' => ['maxSize' => 40000], //макс. размер файла"...просто залить файлы, в которые вносил изменения, оказалось недостаточным. Были видно какие-то добавления в папку vendors/composer, или ещё куда. Проблема решилась перезагрузкой всей папки vendors на хостинг."
Посмотрите файл /vendor/composer/autoload_psr4.php