Список всех типов публикаций в Drupal

Как получить полный список зарегистрированных типов публикаций в Drupal 7. Задача типична для бек-енда при создании форм страниц настроек. Потому покажу в статье пример реализации поля для формы с выбором типов публикаций.

В API Drupal существует специальная функция для извлечения списка типов публикаций: node_type_get_types(). Также можно обратиться к таблице node_type, где перечислены зарегистрированные типы (но это не drupal-way).

Функция возвращает массив объектов вида:

Форма с полем выбора типов публикаций

Объявление формы с набором чекбоксов + кнопка сохранения данных.

Сохранение данных формы

Функция хелпер, читающая список типов нод.

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

Выполнение действий после сохранения ноды – обход стандартных ограничений

Май 22, 2026 г.

Поговорим о ситуациях, когда hook_node_insert, hook_node_update гибки не на столько хорошо, и нужны альтернативные способы выполнения кода после полного завершения транзакций или даже после отправки ответа браузеру. Проблема Стандартные хуки ...

Читать

node_save в hook_node_insert

Апрель 13, 2021 г.

Рассмотрим технику того, как выполнить node_save во время hook_node_insert. Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...

Читать

Вывод результатов формы в саму форму после submit

Март 2, 2017 г.

Что делают в большинстве случаев после успешного submit данных формы? Вариантов два - либо показывают системное сообщение drupal_set_messge(), либо производят переадресацию на некую страницу с результатами. Первый вариант почти всегда выглядит неказисто, ...

Читать

Работа со схемой данных в Drupal

Январь 17, 2019 г.

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

Читать
 

Комментарии к «Список всех типов публикаций в Drupal»

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



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