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

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

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

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

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

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

Удалить список публикаций со страницы термина таксономии в Drupal

Апрель 10, 2021 г.

Стандартный шаблон страницы термина таксономии taxonomy-term.tpl.php не позволяет управлять выводом публикаций, он лишь служит как обертка для полей термина. Единственная настройка CMS, которая влияет на вывод списка - это переменная default_nodes_main, ...

Читать

Использование cache API Drupal 7

Май 14, 2019 г.

Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования. Пример логики использования/создания элемента кеша [crayon-695eed326ee11497793346/] Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). ...

Читать

Программное удаление полей и групп из сущности Config Pages

Февраль 12, 2019 г.

Я уже рассказывал ранее как программно можно обновить данные в сущности config_pages. А здесь покажу как программно можно выполнить удаление полей и групп (созданных модулем field_group). Config Pages использует Field API, поэтому удаление полей ...

Читать

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

Март 20, 2019 г.

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

Читать
 

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

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



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