Дополнения к плагину CKeditor
Dr2005alex |
|
---|---|
Привет всем. Давненько меня мучает вопрос.. почему сделали к примеру переход в модуле PM через ajax но не сделали коррекцию для CKeditor. А ведь он не запускается при переходе через ajax на страницу добавления сообщения. Все это потому, что у нас подключение всех скриптов идет в footer. Соответственно файлы редактора просто тупо не подгружаются. Как вариант предлагаю создать файл в плагине к примеру ckeditor.ajax.php с примерно таким собержимым: <?php /* ==================== [BEGIN_COT_EXT] Hooks=pm.send.tags,pm.tags [END_COT_EXT] ==================== */ defined('COT_CODE') or die('Wrong URL'); if ($cot_textarea_count > 0) { if (is_array($cot_plugins['editor'])) { $parser = !empty($sys['parser']) ? $sys['parser'] : $cfg['parser']; $editor = $cfg['plugin'][$parser]['editor']; foreach ($cot_plugins['editor'] as $k) { if ($k['pl_code'] == $editor && cot_auth('plug', $k['pl_code'], 'R')) { include $cfg['plugins_dir'] . '/' . $k['pl_file']; echo $out['footer_rc']; break; } } } } Ну а в поле hook перечислить все теги в которых необходимо подключать редактор. (если там есть поддержка работы через ajax) Я для теста пока взял модуль PM. Что думаете по этому поводу? WebKaa.ru - Cotonti Relax
|
Izhver |
|
---|---|
Наблюдаю проблему после перезда на новых хост. Несколько не в тему конечно, но пока не могу найти как настроить чтобы тображался CKeditor. |
Dr2005alex |
|
---|---|
А в чем проблема? Вот у меня на моем сайте была похожая ситуация.... редактор отказывался работать под linux, а из под windows работал, оказалось - косяк при заливке по ftp. Попробуй перезалить. WebKaa.ru - Cotonti Relax
|
Macik |
|
---|---|
#39639 Dr2005alex: Не смог повторить. Вроде везде аякс включен, в том числе и в PM модуле... Но все равно перегружает всю страницу (если речь идет о /pm, /pm?m=send).
Как вариант всегда грузить файлы редактора на главной странице PM модуля. https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
Dr2005alex |
|
---|---|
Вариант для голого кота подгружать код вроде норма, но если использовать загрузку страниц черзез ajax то появляются ошибки в консоле от самого редактора (Типа редактор уже создан и многое другое) + если подгружать инфу через ajax на страницу где редактора по смысло кота нет, то и кода js редактора тоже нет. отсюда и проблема. я сейчас тестирую обновленный вариант инициализации кода редактора у себя на сайте "мой котонти" + подгрузка кода как описано выше. Пока полет нормальный и проблем при ajax подгрузке не обнаруживаю. В данный момент тестирую на модуле pm и комментах. Думаю в скором времени предложу на рассмотрение и модернизацию. WebKaa.ru - Cotonti Relax
|
Macik |
|
---|---|
Алекс я залил на ГитХаб 2 фикса для модуля PM. Они в частности, решают эту проблему — в трекере она была под номером #1027. Посмотри. Использовал как раз предложенный тобой механизм, только не в отдельном файле, а прямо в текущем коде для удобства проверок переменных. Работает с CKEditor и Markitup. Но не идеально, т.к. механизм запуска CKEditor (файл `ckeditor.default.set.js`), прописывает себя в ф-ю `ajaxSuccessHandlers`, тем самым после каждой AJAX подгрузки пятыется по второму разу себя запустить (о чем в консоле кидает Exception). На общем процессе вроде не отражается. С `Markitup` таких проблем не замечено. Попутно поправил механизм цитированияя открытого сообщения (по кнопке «Quote»). Ранее он был заточен только под markitup. Еще обнаружились баги в `RC` файлах основных редакторов, при которых они перезаписывали ресурсные строки друг друга даже если не использовались в текущий момент. Для малопопулярных редакторов, таких как `cleditor` и `epiceditor` ковыряться не стал (сходу по аналогичной схеме они не заработали). Выход был найден простой — если используются эти редакторы отключаем AJAX в PM модуле.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |