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

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

Edward
#45010 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