Добавляем фильтр в 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. Так вы сможете создать форму для настроек фильтра.

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

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

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

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

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

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

Вывод сообщений валидации формы рядом с формой

Март 20, 2019 г.

При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку. Если форма находится далеко от места вывода ...

Читать

Получить имя текущей темы по дефолту в Drupal

Январь 21, 2019 г.

Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить? Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок). Необходимость возникает из-за того, ...

Читать

 

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

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



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