Улучшенная интеграция с tinyMCE
Added by Andrew Hilobok about 2 years ago
Интегрировал elFinder с tinyMCE (версии 3.3.1) следующим образом:
1 tinyMCE.init({
2 // General options
3 mode : "textareas",
4 // ... any options
5 file_browser_callback : function(field_name, url, type, win) {
6 $('<div/>').elfinder({
7 url: 'connector.php',
8 lang: 'ru',
9 dialog: { width: 900, modal: true, title: 'Files', zIndex: 900001 },
10 editorCallback: function(url) {
11 win.document.forms[0].elements[field_name].value = url;
12 }
13 });
14 }
15 });
на мой взгляд он симпатичнее способа предложенного официально, может кому пригодится :)
Replies (14)
RE: Улучшенная интеграция с tinyMCE
-
Added by Dmitry Levashov about 2 years ago
Спасибо! Включим в документацию. Сами мы с tinyMCE не очень знакомы :)
RE: Улучшенная интеграция с tinyMCE
-
Added by Troex Nevelin about 2 years ago
Действительно отличное решение, в доку, и надо на сайте TinyMCE отписать
RE: Улучшенная интеграция с tinyMCE
-
Added by Andrew Hilobok about 2 years ago
Как выяснилось, при таком способе интеграции, в Safari 4.0.5 под Мак иногда не срабатывает контекстное меню в elFinder, особенно если в tinyMCE contextmenu тоже включено. Буду еще разбираться. В остальных браузерах вроде нормально. Кстати, а как отключить контекстное меню в elFinder полностью? Указываю в опциях contextmenu: {} — показывает тонкую полоску пустого меню.
RE: Улучшенная интеграция с tinyMCE
-
Added by Dmitry Levashov about 2 years ago
Хмм... Мы не предусмотрели полное отключение контекстного меню :)
RE: Улучшенная интеграция с tinyMCE
-
Added by Andrew Hilobok about 2 years ago
:) наверное есть смысл предусмотреть
RE: Улучшенная интеграция с tinyMCE
-
Added by Andrew Hilobok about 2 years ago
После более детального разбора способа инициализации правильно интегрировать с tinyMCE нужно вот так:
1 tinyMCE.init({
2 // General options
3 mode: 'textareas',
4 // ... other options
5
6 file_browser_callback: function(field_name, url, type, win) {
7 aFieldName = field_name, aWin = win;
8
9 if($('#elfinder').length == 0) {
10 $('body').append($('<div/>').attr('id', 'elfinder'));
11 $('#elfinder').elfinder({
12 url : 'connector.php',
13 dialog : { width: 900, modal: true, title: 'Files', zIndex: 400001 }, // open in dialog window
14 editorCallback: function(url) {
15 aWin.document.forms[0].elements[aFieldName].value = url;
16 },
17 closeOnEditorCallback: true
18 });
19 } else {
20 $('#elfinder').elfinder('open');
21 }
22 }
23 });
Будете вносить в документацию вносите этот способ, в предыдущем создавались множественные копии elFinder что приводило к проблемам с кукисами и множественными quicklook окнами
RE: Улучшенная интеграция с tinyMCE
-
Added by Сергей Воронков about 2 years ago
Скажите пожалста поподробнее, что куда вставлять, а то у меня не получается и не открывается elfinder. Пробовал и первый и второй вариант - но тщетно...
RE: Улучшенная интеграция с tinyMCE
-
Added by Сергей Воронков about 2 years ago
все разобрался... стормозил... спасибо за интеграцию!!!
RE: Улучшенная интеграция с tinyMCE
-
Added by Dmitry Levashov about 2 years ago
Andrew Hilobok wrote:
После более детального разбора способа инициализации правильно интегрировать с tinyMCE нужно вот так: [...]
Будете вносить в документацию вносите этот способ, в предыдущем создавались множественные копии elFinder что приводило к проблемам с кукисами и множественными quicklook окнами
Проблема с множественными копиями решена в след версии файндера
RE: Улучшенная интеграция с tinyMCE
-
Added by Pavel Novikov about 1 year ago
К коду, который привел Andrew Hilobok, в callback функцию elfinder'а я бы еще добавил следующий код:
$('iframe').contents().find('input#src').change();
Это позволит обновлять окошко просмотра сразу после выбора файла.
RE: Улучшенная интеграция с tinyMCE
-
Added by Виталий Рудюк about 1 year ago
Подскажите пожалуйста как в Yii сделать два поля textarea с редактором tinymceelfinder
когда делаю вот так
$this->widget('application.extensions.tinymce.ETinyMce',array(
'model'=>$model,
'attribute' =>'content_left',
'editorTemplate'=>'full'
)
);
$this->widget('application.extensions.tinymce.ETinyMce',array(
'model'=>$model,
'attribute' =>'content_right',
'editorTemplate'=>'full'
)
);
то файловый менеджер перестает работать и выдает Invalid configuration! You have to set Url option
Как это исправить???
RE: Улучшенная интеграция с tinyMCE
-
Added by Виталий Рудюк about 1 year ago
Проблему решил сам. Дело было в конфликте JUI и tinymceelfinder. Подключались дважды jquery.ui
RE: Улучшенная интеграция с tinyMCE
-
Added by Добрый Злюка 5 months ago
c какой версией tinyMCE работает?
постоянно пишет
Invalid configuration! You have to set Url option
RE: Улучшенная интеграция с tinyMCE
-
Added by Troex Nevelin 5 months ago
Похоже url коннектора вы совсем не указали, приведите полный пример как подключаете
(1-14/14)