Добавляем фильтр в wysiwyg в Drupal

Пример добавления обработчика (фильтра) текста в rich editor.

Требуется всего два шага для реализации нового фильтра:

  • имплементировать hook_filter_info(), и саму функцию фильтра;
  • прикрепить фильтр к нужному вам формату текста в админке сайта — /admin/config/content/formats.

Для примера рассмотрим как создать фильтр, добавляющий bootstrap css обертку для ваших таблиц. Если вы используете bootstrap фреймворк на вашем сайте, то, чтобы сделать таблицы <table> mobile-friendly, требуется обернуть их в специальный контейнер:

<div class=»table-responsive» /> контейнер позволяет выполнять горизонтальный скролл таблицы, если её ширина на конечном устройстве больше ширины экрана.

Объявим фильтр в нашем модуле MYMODULE.

В нашем случае фильтр очень простой, не требует настроек. Но зацепка (hook_filter_info) позволяет передать также параметры: settings callback и default settings. Так вы сможете создать форму для настроек фильтра.

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

Осталось только реализовать сам фильтр.

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

Остаётся только прикрепить фильтр у нужному формату текста.

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

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Вывод данных с группировкой во views drupal

Ноябрь 15, 2019 г.

Типичная проблема при использовании модуля views - как вывести результат группировки, т.е. столбец вроде COUNT(*). Это можно сделать штатными средствами ...

Читать

Программное создание параграфов (ParagraphsItemEntity) в Drupal

Май 24, 2019 г.

Пример кода, как программно реализовать создание параграфа (речь идет о модуле - paragraphs). Обычно параграфы создаются редакторами через админку, но иногда требуется создать новый параграф с помощью кода, например, при импорте данных, структурных ...

Читать

Удаление nodequeue программно

Май 28, 2021 г.

Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных. Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы: [crayon-6988818a5a2cf673875023/] ...

Читать
 

Комментарии к «Добавляем фильтр в wysiwyg в Drupal»

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



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