Замена поля таксономии в редакторе ноды в Drupal 6

Потому то я и не люблю таксономию в шестерке drupal, что возможностей ею управлять хуками почти что нет. В 7-ке ситуация лучше. У меня была задача выводить не все термины словаря, а только их часть. При этом у админа и редакторов оставался полный набор терминов, а простые пользователи должны были пользоваться усеченным списком. Отметку «особенности» терминов я делал в поле описания термина.

Искал готовые решения, работающих не нашел, пришлось придумать что то самому. То, что придумалось в итоге, нельзя назвать в полной мере решением, это скорее обходной путь :).

Судите сами — поле из формы убрать не удаётся, т.к. оно связано с типом публикации и рендерится уже в шаблон формы. Делается это вопреки всему, чтобы бы вы не удаляли из самого определения формы, к примеру, через hook_form_alter.

Мое решение заключается в следующем:

  • Прячем поле таксономии от пользователя, добавляя в hook_form_alter что то вроде (если словарь имеет код vid (vocalabury_id) == 1):

  • К форме в hook_form_alter добавляем поле типа select, которое для пользователя заменяет ввод данных спрятанного поля таксономии.

  • После отправки данных нужно подхватить значение из фальшивого списка и заполнить им таксономию. Делаем это в hook_nodeapi.

Ужасное, не красивое решение, но у меня оставался лишь вариант вообще отказаться от таксономии, а это означало масштабную перепись уже отлаженного кода.

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

Добавляем в page cache зависимость от значения cookie

Март 4, 2025 г.

Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...

Читать

Отправляем письмо из Drupal 7 в формате HTML

Июнь 24, 2011 г.

Разработчики решили в drupal 7 по умолчанию сделать отправку писем в формате plain text. Довольно неожиданный ход. Фактически, когда вы вызываете drupal_mail, на последнем этапе вызывается функция форматирования письма и там уже удаляются все html теги. ...

Читать

Конфигурация для миграции статей (node:blog) из CSV файла

Март 2, 2024 г.

Это пример миграции данных из CSV файла в Drupal. Данная миграция является основной в том смысле, что она ссылается на дочернюю миграцию, в ходе которой будут созданы параграфы (entity_reference_revisions:paragraph) с HTML контентом. А далее мы ...

Читать

Как рендерить отдельные поля элемента field collections

Январь 31, 2019 г.

Модуль field_collection всю свою историю существования (аж 2010 года) проходит в статусе beta версии. Тем не менее многие разработчики используют его в своих проектах. На текущий момент это версия 7.x-1.0-beta13. Хотя FC - это ещё один entity, ...

Читать
 

Комментарии к «Замена поля таксономии в редакторе ноды в Drupal 6»

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



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

Один комментарий в “Замена поля таксономии в редакторе ноды в Drupal 6”

  1. Дмитрий:

    А не подскажете как сделать вот такое? http://xandeadx.ru/blog/drupal/18#comment-14562
    Для Drupal 6 необходимо