Forums / National / Russian / Модули и плагины / Замена CKEditor на Editorjs

Как лучше сделать

Edward
#1 2020-07-22 18:09

Хочу заменить CKEditor на более современное решение.

Смотрю в сторону Editorjs (используется на vc.ru).

Проблема в том, что CKEditor зашит глубоко в движок. Зачем это сделано не спрашиваю.

Вижу, что Cotonti не развивается совсем. Т.е. дождаться нового релиза я уже не надеюсь. Честно говоря, я бы выпилил это старье из движка.

Но, понимаю, что возможно кому то решение пригодится и для совместимости нужно делать плагин.

Проблема: Editorjs на выходе из редактора дает json типа

{
    "time" : 1595440631254,
    "blocks" : [
        {
            "type" : "header",
            "data" : {
                "text" : "Editor.js",
                "level" : 2
            }
        },
        {
            "type" : "paragraph",
            "data" : {
                "text" : "Hey. Meet the new Editor. On this page you can see it in action — try to edit this text."
            }
        },
        {
            "type" : "header",
            "data" : {
                "text" : "Key features",
                "level" : 3
            }
        },
    ],
    "version" : "2.18.0"
}

Это пишется в базу.

Когда достаем из базы - преобразуется обратно согласно правилам в обычный html.

Простых решений вижу 2.

  1. Плагин с доп. полем в базе типа json. Плюс костыли с поиском по таким данным.
  2. Плагин хранит данные в стандартном для Cotonti поле page_text.
    Во втором случае костыли в том, что придется убрать у Editorjs преобразование и распаковку json.

Кто прикручивал подобные редакторы, как сделали? Или как бы сделали?

Email: ed.gabishev@gmail.com
Telegram: https://t.me/Ed_Gaba
jCube Group
#2 2020-07-24 13:53

CKEditor зашит глубоко в движок

Не правда,  это все 1 плагин, второй плагин парсер без него редактор будет работать,  но не будет коректно отображаться контент, так что 2 плагина.

По поводу Editorjs

Да хороший радактор,  я его себе подключил, написал парсер который воводит красивый контент,  вместо контента записывем json  при выводе парсим, хотя если важна оптимизация можно хранить спарсеный код, редактор уммет читать html  чтоб потом его редактировать, хотя в документации этого нет.

 

Сделал группу в телеге https://t.me/Cotonti_help если что помогу с вопросами.
Edward
#3 2020-07-25 21:22

Не правда,  это все 1 плагин, второй плагин парсер без него редактор будет работать,  но не будет коректно отображаться контент, так что 2 плагина.

Правда или нет, не знаю.

Точно видел его в 

Cotonti Resource control class

это ядро: resources.php
В install. Может где еще есть.

Также, как bootstrap и jquery.

Куда вы пишете json, в page_text?

Как решаете проблему с поиском в таком случае?

Email: ed.gabishev@gmail.com
Telegram: https://t.me/Ed_Gaba
jCube Group
#4 2020-07-26 06:29

с поиском тоже можно решить,  но в целлом он находит слова, ну если хотите то можно написать хук для поиска

Сделал группу в телеге https://t.me/Cotonti_help если что помогу с вопросами.