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

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

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

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

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

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

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

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

Wysiwyg для Drupal 7

Июнь 8, 2011 г.

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

Читать

Вставка html entites в текстовые ноды

Апрель 5, 2025 г.

Делюсь еще одним лайфхаков, как в плагине CKE5 вставить htmlentity. При вставке текста в модель, CKEditor будет преобразовывать html символы вроде '&' и '>'. Но что делать, если нужно вставить символ в виде html кода? Рассмотрим следующий ...

Читать

Создание плагина CKEditor 5 в экосистеме Drupal 10

Февраль 8, 2024 г.

Drupal 10 добавил в ядро модуль wysiwyg CKEditor 5. Т.е. уже из "коробки" у вас есть редактор html кода. API CKEditor 4 и 5 версий значительно отличаются, ...

Читать

CKEditor не включается в при загрузке страницы

Август 30, 2018 г.

Редактор подключен и настроен, но почему то не включается при загрузке страницы. Как быть? Если вы уверены, что все настроено верно, а именно: ...

Читать
 

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

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



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