Fantastic WYSIWYG-editor on jQuery
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Fantastic WYSIWYG-editor on jQuery
Redactor
ImperaviRedactorWidget — обёртка для Imperavi Redactor, довольно неплохого WYSIWYG редактора.
Обратите внимание, что сам Imperavi Redactor — коммерческий продукт и не является OpenSource, но так как сообщество Yii купило OEM-лицензию, то вы можете бесплатно пользоваться им в проектах на Yii.
Github
Примеры использования
ImperaviRedactorWidget — обёртка для Imperavi Redactor, довольно неплохого WYSIWYG редактора.
Обратите внимание, что сам Imperavi Redactor — коммерческий продукт и не является OpenSource, но так как сообщество Yii купило OEM-лицензию, то вы можете бесплатно пользоваться им в проектах на Yii.
Github
Примеры использования
Жду Yii 3!
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Fantastic WYSIWYG-editor on jQuery
/**
* Assets package ID.
*/
const PACKAGE_ID='imperavi-redactor';
это чего?
* Assets package ID.
*/
const PACKAGE_ID='imperavi-redactor';
это чего?
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Это ID пакета
Если до использования виджета зарегестрировать свой пакет ресурсов под таким именем, буден использован он. Например, если нужно использовать более старую или свою доработанную версию редактора.
Код: Выделить всё
Yii::app()->getClientScript();
$cs->registerPackage(self::PACKAGE_ID);
Жду Yii 3!
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Fantastic WYSIWYG-editor on jQuery
что-то меня смущает в таком подходе. Тогоже эффекта через темы нельзя добиться?
хотя подход в общем удобен.
хотя подход в общем удобен.
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
О каком подходе речь? О пакетах? Если да то, мне они кажутся мегаудобными, намного удобнее чем просто ресурсы публиковать и еще заботится о зависимостях.
Жду Yii 3!
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
2mc-bear, спасибо за идею. Буду юзать.
-
- Сообщения: 350
- Зарегистрирован: 2009.09.17, 16:47
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Пакеты полезная штука, как появились стал использовать.
2mc-bear, Не мог бы рассказать свое мнение о данном визивиге? До этого использовал какие-то визивиги? Если да, то почему перешел на этот? Какие у него преимущества на твой взгляд? что хорошо?)
2mc-bear, Не мог бы рассказать свое мнение о данном визивиге? До этого использовал какие-то визивиги? Если да, то почему перешел на этот? Какие у него преимущества на твой взгляд? что хорошо?)
Предупрежден - значит вооружен.
devKP.ru
devKP.ru
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
SpiLLeR, не могу сравнивать, опыта с другими практически нет. Рассказывать не знаю даже что, текущая версия в админке полностью хватает.
Жду Yii 3!
Re: Fantastic WYSIWYG-editor on jQuery
На сколько я вижу - это продолжение Imperavi
Не нашел на гитхабе контроллера, который отвечает за аплоад. В последних версиях imperavi была сделана клёва фишка - при аплоаде произвольных файлов (doc, xls, pdf etc) вставлялась ссылка на файл с иконкой типа файла (картинка http://clip2net.com/s/1WtWN ).
Ну и плюс надо править css сайта, чтобы везде такие иконки корректно показывались.
Код выдернул из проекта, нет сейчас времени подправить. Но что-то типа такого:
Не нашел на гитхабе контроллера, который отвечает за аплоад. В последних версиях imperavi была сделана клёва фишка - при аплоаде произвольных файлов (doc, xls, pdf etc) вставлялась ссылка на файл с иконкой типа файла (картинка http://clip2net.com/s/1WtWN ).
Ну и плюс надо править css сайта, чтобы везде такие иконки корректно показывались.
Код выдернул из проекта, нет сейчас времени подправить. Но что-то типа такого:
Код: Выделить всё
class RedactorController extends CExtController {
function run($actionID) {
if(Yii::app()->user->getState("isAdmin")){
$type = Yii::app()->request->getQuery('type');
Controller::disableProfiler(); // yii-debug-toolbar disabler
if($type == 'imageUpload' || $type == 'fileUpload'){
if (!empty($_FILES['file']['name']) && !Yii::app()->user->isGuest) {
//$dir = Yii::getPathOfAlias('webroot.upload') . '/' . Yii::app()->user->id . '/';
$dir = Yii::getPathOfAlias('webroot.uploads') . '/';
if (!is_dir($dir))
@mkdir($dir, '0777', true);
$file = CUploadedFile::getInstanceByName('file');
if ($file) {
if($type == 'imageUpload'){
$new_name = md5(time()) . '.' . $file->extensionName;
$file->saveAs($dir . $new_name);
echo '<img src="'.Yii::app()->getBaseUrl(false).'/uploads/' . $new_name.'" />';
} else {
$new_name = $file->getName();
if(!is_file($dir . $new_name)){
$file->saveAs($dir . $new_name);
echo '<a href="'.Yii::app()->getBaseUrl(false).'/uploads/'.$new_name.'"
rel="'.$new_name.'"
class="redactor_file_link redactor_file_ico_'.$this->_getIcon($file->extensionName).'">'.$new_name.'</a>';
} else {
echo Yii::t('common', 'Uploading error! File already exists');
}
}
Yii::app()->end();
}
}
}
if($type == 'fileDelete'){
$fname = Yii::getPathOfAlias('webroot.uploads').'/'.$_GET['delete'];
if(is_file($fname) && dirname($fname) == Yii::getPathOfAlias('webroot.uploads')){
unlink($fname);
}
}
if($type == 'fileDownload'){
if (isset($_GET['file'])){
$fname = Yii::getPathOfAlias('webroot.uploads').'/'.$_GET['file'];
if(is_file($fname) && dirname($fname) == Yii::getPathOfAlias('webroot.uploads')){
$this->_download($fname);
}
}
}
}
}
private function _getIcon($type){
$fileicons = array('other' => 0, 'avi' => 'avi', 'doc' => 'doc', 'docx' => 'doc', 'gif' => 'gif', 'jpg' => 'jpg', 'jpeg' => 'jpg', 'mov' => 'mov', 'csv' => 'csv', 'html' => 'html', 'pdf' => 'pdf', 'png' => 'png', 'ppt' => 'ppt', 'rar' => 'rar', 'rtf' => 'rtf', 'txt' => 'txt', 'xls' => 'xls', 'xlsx' => 'xls', 'zip' => 'zip');
if (isset($fileicons[$type])){
return $fileicons[$type];
} else {
return 'other';
}
}
private function _download($filename, $filenamef = false, $mimetype='application/octet-stream'){
if (!file_exists($filename)) die('File not found');
$from = $to = 0;
$cr = NULL;
if (isset($_SERVER['HTTP_RANGE'])){
$range = substr($_SERVER['HTTP_RANGE'], strpos($_SERVER['HTTP_RANGE'], '=')+1);
$from = strtok($range, '-');
$to = strtok('/');
if ($to>0) $to++;
if ($to) $to-=$from;
header('HTTP/1.1 206 Partial Content');
$cr = 'Content-Range: bytes ' . $from . '-' . (($to)?($to . '/' . $to+1):filesize($filename));
}
else header('HTTP/1.1 200 Ok');
if ($filenamef === false) $filenamef = $filename;
$etag = md5($filename);
$etag = substr($etag, 0, 8) . '-' . substr($etag, 8, 7) . '-' . substr($etag, 15, 8);
header('ETag: "' . $etag . '"');
header('Accept-Ranges: bytes');
header('Content-Length: ' . (filesize($filename)-$to+$from));
if ($cr) header($cr);
header('Connection: close');
header('Content-Type: ' . $mimetype);
header('Last-Modified: ' . gmdate('r', filemtime($filename)));
$f = fopen($filename, 'r');
header('Content-Disposition: attachment; filename="' . basename($filenamef) . '";');
if ($from) fseek($f, $from, SEEK_SET);
if (!isset($to) || empty($to)) $size=filesize($filename)-$from;
else $size=$to;
$downloaded = 0;
while(!feof($f) && !connection_status() && ($downloaded<$size)){
echo fread($f, 512000);
$downloaded+=512000;
flush();
}
fclose($f);
}
}
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Верно контроллера нет и не думаю что появится в этом расширении.
Загрузка файлов/картинок из проекта в проект отличается и никак к редактору не привязан.
Так что если в проекте нет собственного контроллера-загрузчика, можно юзать
https://github.com/yiiext/file-upload-action
Загрузка файлов/картинок из проекта в проект отличается и никак к редактору не привязан.
Так что если в проекте нет собственного контроллера-загрузчика, можно юзать
https://github.com/yiiext/file-upload-action
Жду Yii 3!
Re: Fantastic WYSIWYG-editor on jQuery
Спасибо за новость. Удобная вещь на первый взгляд.
Re: Fantastic WYSIWYG-editor on jQuery
Еще бы поддержку CSRF добавить
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Fantastic WYSIWYG-editor on jQuery
а причем тут csrf?
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
В чем проблема?givemeachance писал(а):Расскажите, пожалуйста, как правильно подключить редактор при загрузке формы аяксом?
Жду Yii 3!
Re: Fantastic WYSIWYG-editor on jQuery
А как бороться со вставкой через из Word?
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Редактор чистит мусор ворда, как минимум в документации об этом сказано
Жду Yii 3!
Re: Fantastic WYSIWYG-editor on jQuery
что не туда, но чистит он, мягко говоря, плохо. А вставка через Word сплошь и рядом. И шаблон письма вместо 5кь - 155кб, вроде и не много, а при отправке по базе 15тыс, уже не так мало.
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Ну тогда у тебя как минимум три варианта выбора
1) Дописать свой скрипт который будет чистить (js - у редактора есть API, или HtmlPurifier задействовать)
2) Попробовать убедить авторов чтоб исправили чистяльзик
3) Юзать другой редактор
1) Дописать свой скрипт который будет чистить (js - у редактора есть API, или HtmlPurifier задействовать)
2) Попробовать убедить авторов чтоб исправили чистяльзик
3) Юзать другой редактор
Жду Yii 3!
Re: Fantastic WYSIWYG-editor on jQuery
Не нашел кнопки изменения размера. Надо. Печально(
Возьму ck или tiny.
Но редактор этот симпатичный) Я за развитие)
Возьму ck или tiny.
Но редактор этот симпатичный) Я за развитие)
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Fantastic WYSIWYG-editor on jQuery
Изменение размера чего? Картинки? Если да, то клацаешь на ней и таскаешь в строны.
ЗЫ: У редактора поменялась лицензия, теперь он платный, что меня очень огорчило.
Конечно за хороший продукт можно заплатить, вот только мне не нравится, когда продукт резко становится платным.
ЗЫ: У редактора поменялась лицензия, теперь он платный, что меня очень огорчило.
Конечно за хороший продукт можно заплатить, вот только мне не нравится, когда продукт резко становится платным.
Жду Yii 3!