Страница 3 из 6
Re: Yii2 Imperavi Redactor
Добавлено: 2016.03.09, 05:23
Dominus
Vitek25 писал(а):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',
],
];
}
Код: Выделить всё
...
'images-get' => [
...
'type' => \vova07\imperavi\actions\GetAction::TYPE_IMAGES,
],
...
Для начала, нужно убрать кавычки, они тут ни к чему).
Re: Yii2 Imperavi Redactor
Добавлено: 2016.03.10, 16:15
almix
А как задать настройки imperavi через config/web.php ? В массиве 'components' или 'modules'?
пишу так в 'components':
Код: Выделить всё
'imperavi' => [
'class' => 'vova07\imperavi\Widget',
'settings' => [
'lang' => 'ru',
'removeWithoutAttr' => [],
'minHeight' => 300,
'pastePlainText' => true,
'buttonSource' => true,
'replaceDivs' => false,
'plugins' => [
'clips',
'fullscreen',
'fontfamily',
'fontsize',
'fontcolor',
'video',
'table'
],
],
],
не срабатывает
Re: Yii2 Imperavi Redactor
Добавлено: 2016.03.22, 21:23
leftmails
Пожалуйста помогите:
Не как не могу победить: При добавлении картинки выскакивает Alert с значением true, жмешь ОК и ни чего не происходит, картинка не сохраняется в директорию
При попытки загрузить из папки в Shoose в ней пусто, хотя в этой директории лежат файлы,картинки
Контроллер:
Код: Выделить всё
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'image-upload' => [
'class' => 'vova07\imperavi\actions\UploadAction',
'url' => Url::to(['/upload']), // Directory URL address, where files are stored.
'path' => '@webroot/upload/' // Or absolute path to directory where files are stored.
],
'images-get' => [
'class' => 'vova07\imperavi\actions\GetAction',
'url' => Url::to(['/upload']), // Directory URL address, where files are stored.
'path' => '@webroot/upload/', // Or absolute path to directory where files are stored.
'type' => GetAction::TYPE_FILES,
]
];
}
Вьювка
Код: Выделить всё
echo $form->field($model, 'content')->widget(Widget::classname(), [
'settings' => [
'lang' => 'ru',
'uploadOnlyImage' => true, //чтобы можно было загружать файлы
'validatorOptions' => ['maxSize' => 40000], //макс. размер файла
'minHeight' => 10,
'pastePlainText' => true,
'buttonSource' => true,
'plugins' => [
'clips',
'fullscreen',
'imagemanager',
],
'imageUpload' => Url::to( [ '/upload' ] ),
'imageManagerJson' => Url::to( [ '/upload' ] ),
]
]);
Re: Yii2 Imperavi Redactor
Добавлено: 2016.03.22, 22:11
dmg
leftmails писал(а):
Код: Выделить всё
'imageUpload' => Url::to( [ '/upload' ] ),
'imageManagerJson' => Url::to( [ '/upload' ] ),
]);
здесь action для загрузки и получения списка файлов, т.е. image-upload и image-get, соответсвенно.
Re: Yii2 Imperavi Redactor
Добавлено: 2016.03.23, 18:00
leftmails
dmg писал(а):[code=php][/code]leftmails писал(а):
Код: Выделить всё
'imageUpload' => Url::to( [ '/upload' ] ),
'imageManagerJson' => Url::to( [ '/upload' ] ),
]);
здесь action для загрузки и получения списка файлов, т.е. image-upload и image-get, соответсвенно.
Огромное спасибо
dmg Помог разобраться!!!
Кстати так же тут в ветке возникали вопросы при открытии уже добавленных картинок в Choose "Почему видны но не корректно отображаются", ответ: надо указывать в
Код: Выделить всё
'image-get' =>[ 'type' => GetAction::TYPE_IMAGES,]
У многих кстати видел не правильные варианты 'type' => '0' или 'type' => GetAction::TYPE_FILES
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.10, 23:08
NEIRON
Вот такой вопрос. Я хочу чтобы среди загруженных файлов у меня был какой-то порядок и я всегда мог знать те файлы, которые относятся к тому или иному объекту, иными словами иерархия среди загруженных файлов:
- img/
- --news/
- ----news_1/
- ----news_2/
- ----news_3/
- ...
- ----news_1000/
Для этих целей я во VIEW виждет вызываю следующим образом:
Код: Выделить всё
$form->field($model, 'text')->widget(Widget::className(), [
'settings' => [
...
'imageUpload' => Url::to(['/site/default/image-upload', 'id' => $model->id, 'type' => 'news']),
'imageManagerJson' => Url::to(['/site/default/images-get', 'id' => $model->id, 'type' => 'news']),
]
]);
И потом его отрабатываю в контроллере:
Код: Выделить всё
// Путь для загрузки картинок
$request = Yii::$app->request;
$id = $request->get('id');
$type = $request->get('type');
if ($id && $type) {
$url = "/img/$type/$type".'_'.$id;
}
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'image-upload' => [
'class' => 'vova07\imperavi\actions\UploadAction',
'url' => $url,
'path' => '@webroot' . $url
],
'images-get' => [
'class' => 'vova07\imperavi\actions\GetAction',
'url' => $url,
'path' => '@webroot' . $url,
'type' => '0',
],
];
Всё отлично работает при редактирование записи, т.е. когда у неё уже есть ID. А вот что делать при добавлении, когда запись в БД еще не создана и ей не присвоен никакой идентификатор, а пользователь уже загружает картинки через виджет.
Что более правильно, куда-то складывать эти временные файлы, а потом после нажатия кнопки ДОБАВИТЬ переносить их директорию согласно задуманной мной иерархии, или просто не заморачиваться, а складывать всё в одну общую директорию?
Спасибо.
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.13, 19:34
jsman
Парни помогите разобраться!
Вот есть у меня backend где добавляются посты и frontend где эти посты просматриваются.
Код: Выделить всё
public function actions()
{
return [
'images-get' => [
'class' => 'vova07\imperavi\actions\GetAction',
'url' => '/images/', // URL адрес папки где хранятся изображения.
'path' => '@webroot/../../common/images', // Или абсолютный путь к папке с изображениями.
'type' => \vova07\imperavi\actions\GetAction::TYPE_IMAGES,
],
'image-upload' => [
'class' => 'vova07\imperavi\actions\UploadAction',
'url' => '/images/', // URL адрес папки куда будут загружатся изображения.
'path' => '@webroot/../../common/images' // Или абсолютный путь к папке куда будут загружатся изображения.
],
];
}
Картинки загружаются в общую папку common/images, здесь все норм, а как заставить эту картинку идти по этому пути, ведь когда указываешь
то картинка ищется по пути где ты находишься в данный момент, фронт или бек. Что писать в
?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.13, 20:32
Dominus
Я загружаю картинки в frontend.
В common\config\bootstrap.php создаю алиас:
Код: Выделить всё
Yii::setAlias('@upload', dirname(dirname(__DIR__)) . '/frontend/web/');
При загрузке указываю его.
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.13, 21:24
jsman
Dominus писал(а):Я загружаю картинки в frontend.
В common\config\bootstrap.php создаю алиас:
Код: Выделить всё
Yii::setAlias('@upload', dirname(dirname(__DIR__)) . '/frontend/web/');
При загрузке указываю его.
Во, спасибо работает, а в 'url' прописываешь абсолютный путь?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.13, 21:47
Dominus
да, в common\config\params.php прописываю абсолютные пути:
Код: Выделить всё
return [
...
'domainFrontend' => 'http://mysite.ru',
'domainBackend' => 'http://backend.mysite.ru',
...
];
и их подставляю если требуется, например для backend)
Код: Выделить всё
Yii::$app->params['domainFrontend'].'/images/';
Re: Yii2 Imperavi Redactor
Добавлено: 2016.06.13, 22:15
jsman
Dominus писал(а):да, в common\config\params.php прописываю абсолютные пути:
Огромнейшее тебе спасибо, а то я как баран об ворота бился)
Re: Yii2 Imperavi Redactor
Добавлено: 2016.07.10, 19:15
proctoleha
Может не совсем по теме, но тем не менее: купил вторую версию imperavi редактора, и как-то она мне не понравилась, по сравнению с первой. Например, я руками дописывал код работы с картинкой: изменение размеров, и обтекание текстом.
Кто-нибудь пробовал вторую версию? Если, да то какие впечатления?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.08.02, 15:57
ErdTemir
Здравствуйте, изображения в редакторе только закачиваются, а как удалять их, искал как сделать нашел вот это
https://github.com/vova07/yii2-imperavi ... 180446d6f9, добавил файлы, в редакторе ко вкладкам Udload и Chose добавилась вкладка Delete, в которой отображаются загруженные изображения, при клике на них ничего не происходит, только в инспекторе в браузере, во вкладке Network появляются такого рода записи "update?id=3&filename=57a062a1236c3.jpg&_=1470141210948". Можете подсказать как сделать удаление загруженных изображений в редакторе?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.08.05, 13:36
zhevlakov
Добрый день! Чтобы не создавать новую тему, прошу помощи у более сведущих. Как бы можно было реализовать подобный функционал - Нужно чтобы по кнопке - выделенный текст, обрамлялся дивом с определенным классом. Пробовал реализовать через - formattingAdd, но не работает.
Вот пример.
Код: Выделить всё
\yii\imperavi\Widget::className(),
[
'plugins' => ['fullscreen', 'fontcolor',],
'options' => [
'minHeight' => 400,
'maxHeight' => 400,
'buttonSource' => true,
'toolbarFixedBox' => true,
'paragraphize' => false,
'replaceTags' => false,
'replaceDivs' => false,
'imageUpload' => Yii::$app->urlManager->createUrl(['/file-storage/upload-imperavi']),
'formatting' => ['p', 'blockquote'],
'formattingAdd' => [
"bold-text" => [
'title' => 'Bold text',
'args' => ['p', 'class', 'bold-text', 'toggle']
],
]
]
]
Re: Yii2 Imperavi Redactor
Добавлено: 2016.08.09, 13:43
proctoleha
ErdTemir писал(а):Можете подсказать как сделать удаление загруженных изображений в редакторе?
Не совсем понял ваш вопрос. Вот мы в редакторе в текст вставляем картинку. Удалить её можно клавишей delete, или backspace, как обычно. Другое дело, что сама картинка не удаляется, и остается на сервере. Со временем этого мусора может накопиться достаточно много. Вы это имели в виду? Удаление картинки и из статьи, и с сервера?
Если да, то в первой ветке редактора, при его вызове, можно прописать функцию imageDeleteCallback
У меня это выглядит так:
Код: Выделить всё
$('#item-text').redactor(
{
"minHeight":400,
"toolbarFixed":true,
"toolbarFixedBox":true,
"plugins" : ["table", "fontcolor", "fontsize", "video", "fullscreen"],
"fileUpload" : "/admin/redactor/upload?dir=pages",
"imageUpload":"/admin/redactor/upload?dir=pages",
"imageUploadErrorCallback":function(json){alert(json.error);},
"imageDeleteCallback":function(url, image){
$.post('/admin/redactor/del-img', {img:image.attr('src') });
},
"fileUploadErrorCallback":function(json){alert(json.error);},"lang":"ru"
});
Т.е. перед удалением картинки отрабатывает экшен /admin/redactor/del-img. Этот экшен получает на вход веб путь к картинке и грохает её. Потом удаляется запись о картинке в самом редакторе
Re: Yii2 Imperavi Redactor
Добавлено: 2016.09.06, 20:23
Matvik
Не могу добавить кнопку, которая вставляет набор символов (в данном случае место для обозначения обрезки при выводе превью постав в ленте блога).
Код: Выделить всё
<?= $form->field($model, 'text')->widget(Widget::className(), [
'settings' => [
'lang' => $lang,
'minHeight' => 400,
'imageUpload' => Url::to(['image-upload']),
'buttons' => ['html', 'formatting', 'bold', 'italic', 'deleted', 'underline', 'unorderedlist', 'orderedlist', 'outdent', 'indent', 'image', 'link', 'video', 'alignment', 'horizontalrule'],
'plugins' => [
'fontsize',
'fontcolor',
'video',
'fullscreen',
]
],
'plugins' => [
'previewend' => 'app\modules\blog\RedactorPluginsAsset',
],
'options' => [
'data-preview-end' => \Yii::$app->controller->module->params['post_preview_end_string']
]
]); ?>
Код: Выделить всё
$.Redactor.prototype.previewend = function()
{
return {
init: function ()
{
var button = this.button.add('previewend', 'Preview end');
this.button.addCallback(button, this.previewend.buttonFunc);
},
buttonFunc: function()
{
var text = $('#posts-text').data('preview-end');
this.insert.html(text);
}
};
};
При дебаге в браузере заходит в инициализирующую функцию, но сама кнопка не добавляется. При єтом сам редактор уже загружен. ЧТо я делаю не так?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.09.19, 22:44
Slava
Если добавил файл в редакторе, потом удалил, как сделать, чтоб файл с сервера удалился тоже, чтобы не устраивать там помойку?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.11.11, 14:20
Dmitry_S
Добрый день, подскажите, почему могут не выводится надписи к кнопкам?
Re: Yii2 Imperavi Redactor
Добавлено: 2016.11.22, 16:17
phpstarter
Всем добрый день. Пытаюсь реализовать подгрузку изображений в редактор. Застрял вот на этом
Прописал экшены. но картинка не загружается
Код: Выделить всё
public function actionImageupload($n)
{
$url= '/files/'.$n.'/temp/';
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'image-upload' => [
'class' => 'vova07\imperavi\actions\UploadAction',
'url' => $url, // Directory URL address, where files are stored.
'path' => '@webroot' . $url, // Or absolute path to directory where files are stored.
],
];
}
public function actionGetimageupload($n)
{
$url= '/files/'.$n.'/temp/';
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'images-get' => [
'class' => 'vova07\imperavi\actions\GetAction',
'url' => $url,
'path' => '@webroot' . $url,
'type' => '0',
],
];
}
в консоли если дебагить видна ошибка 500. А так визуально все как и было срабатывает, выходит окошко с надписью True и в итоге ничего не происходит. Файл тоже не подкачивается
Re: Yii2 Imperavi Redactor
Добавлено: 2016.11.22, 18:01
ElisDN
phpstarter писал(а):Прописал экшены. но картинка не загружается
Экшены прописываются в actions().