CKE5 функция создания контейнера-обертки в модели

Делюсь примером кода, для создания обертки в модели экосистемы CKEditor 5.

Здесь есть несколько нюансов.

Во-первых, нужно проверить, являются ли оборачиваемые элементы валидными по отношению к обертке, в которую мы их помещаем. У CKE элементов есть т.н. схема, где прописывается разрешенные дочерние элементы, а также родительские контейнера, в которые позволено добавлять данный элемент.

При регистрации это выглядит так:

Тут, например, регистрируется инлайновый компонент, который резрешено добавлять внутрь параграфов, а в него можно добавлять другие инлайновые элементы, текст.

Во-вторых, нужно помнить что все изменения модели производятся внутри callback функции, передаваемой внутрь метода модели change(). Она получает объект writer, через который вы и совершаете изменения в модели документа.

Написать комментарий

Мало букафф? Читайте есчо !

Wysiwyg для Drupal 7

Июнь 8, 2011 г.

Аналогичная статья у меня была для 6й версии. Особых проблем для семерки нет, но для тех, кому некогда думать, а надо "просто сделать", данное руководство. ...

Читать

CKEditor5: удаление элемента при удалении в нем текста (элементов)

Февраль 3, 2025 г.

Пример работы в экосистеме CKE5. Реализуем в нашем плагине обработку изменения данных в модели редактора. При удалении всего текста в инлайновом элементе, удалим сам inline контейнер. Зацепку поместим в init секцию плагина. [crayon-680c144b0419e064655521/] ...

Читать

 

Комментарии к «CKE5 функция создания контейнера-обертки в модели»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: