Подключаем wysiwyg CKeditor к нашим формам в Drupal 7

Как подключить CKeditor к Drupal 7 я рассказывал ранее.

После настройки модуль подключит редактор CKeditor к полям редактирования публикаций. А как подключить wysiwyg к собственным формам? В 6-й версии Drupal редактор с помощью модуля CKeditor подключался ко всем полям типа textarea, достаточто было лишь добавить флажок wysiwig:

Используем JS

Так было в шестерке, но в 7й версии все устроено несколько иначе. И первый вариант, который мне пришел на ум, пока я не разобрался что к чему, подключить CKeditor с помощью javascript. Чтобы отличать textarea, которым необходим редактор, я маркировал их специальным CSS классом — wysiwyg. И добавил в шаблон следующий скрипт:

А вот как выглядит описание поля для Drupal FormApi:

Такая связка работает в 7ке, но построена она в парадигме 6й версии (мы вводим специальный маркер для поля textarea). Так что будем разбираться дальше.

Правильный вариант

Покопав код модуля CKeditor, стало ясно, что сейчас редактор цепляется к полю типа — text_format. Потому можно отказаться от фокусов с js и сделать правильно. Описание поля в FormApi будет выглядеть вот так:

В общем случае профиль редактора зависит от выбранного формата текста.

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

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

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

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

Читать

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

Апрель 5, 2025 г.

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

Читать

Убираем вставку   в пустые div контейнеры в CKEditor 5

Апрель 9, 2025 г.

Неприятная особенность CKEditor - добавляет в пустые контейнера (в <div>,<p> и т.п.) html код неразрывного пробела. Покажу как можно от этого избавиться через код в кастомном плагине для CKEditor 5 в экосистеме Drupal 8+. Нам понадобится ...

Читать

Фильтрация тегов на уровне плагина в CKEditor 5

Апрель 7, 2025 г.

Плагин DataFilter позволяет управлять фильтрацией HTML тегов. Он является "родным" для CKE плагином, так что ничего дополнительно устанавливать не нужно. Рассмотрим как им можно управлять на уровне кастомного плагина. Допустим, вы хотите разрешить ...

Читать
 

Комментарии к «Подключаем wysiwyg CKeditor к нашим формам в Drupal 7»

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



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