Подключаем 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 будет выглядеть вот так:

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

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

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

Апрель 7, 2025 г.

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

Читать

Снимаем обертки в модели CKE5

Март 25, 2025 г.

Продолжаю публиковать сниппеты, связанные с экосистемой CKEditor 5. Сегодня покажу как удалять контейнер с сохранением его содержимого. Api предоставляет функцию writer.unwrap(element). Но беда в том, что функция не заботится о валидности дочерних ...

Читать

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

Апрель 9, 2025 г.

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

Читать

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

Апрель 5, 2025 г.

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

Читать
 

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

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



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