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

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

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

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

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

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

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

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

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

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

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

Drupal и hook_install

Январь 19, 2010 г.

(ремарка : речь идет о 6-й версии drupal) Если вам иногда приходится писать модули для Drupal, или вы вдруг этим только решили заняться, то однажды вы, возможно, захотите написать код модуля полностью соответствующий спецификациям и рекомендациям drupal.org. ...

Читать

Вставляем объект views в нужное место шаблона средствами PHP

Сентябрь 9, 2016 г.

Мощный, всепоглощающий, великий и ужасный модуль VIEWS. Очень коварный, он толкает программиста с пути "только хардкор" и разработки на PHP на скользкую ...

Читать

 

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

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



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

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

  1. Дмитрий:

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