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

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

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

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

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

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

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

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

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

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

Использование LIKE оператора в db_select Drupal

Февраль 4, 2021 г.

Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее. Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения. Небольшой пример ...

Читать

Настраиваем мета информацию о картинке для соц. сетей в Drupal 7

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

Когда посетители делятся ссылкой на ваш сайт в какой нить соц.сети, то программа со стороны соц. сети (Facebook или вКонтакте) пытается собрать информацию ...

Читать

Lightbox эффект в статьях на вашем сайте на drupal

Октябрь 2, 2010 г.

Повсеместно распространенная библиотека lightview, и уже ставший обыденным эффект отдельно открывающегося окошка с картинкой, однажды понабились и мне. ...

Читать

Создание параграфов из CSV файла

Февраль 27, 2024 г.

Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV. Из всего набора полей источника нам требуется только два поля - это id и body. migrate_plus.migration.custom_text_to_paragraph.yml ...

Читать
 

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

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



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

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

  1. Дмитрий:

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