Типы материалов в Drupal: как выбрать структуру сайта
В Drupal тип материала — не готовая страница, а схема данных для группы похожих публикаций. Разберём, чем тип отличается от отдельного материала, когда нужны поля и таксономия и как не превратить сайт в набор почти одинаковых форм.

В Drupal тип материала задаёт структуру для группы публикаций: например, у новости могут быть дата, анонс и автор, а у карточки товара — цена и изображение. Если создать отдельный тип для каждой похожей страницы, редакторам придётся выбирать из лишних вариантов, а вам — поддерживать дублирующиеся поля. Ниже — практический способ спроектировать типы материалов для Drupal 10 и 11; базовые понятия здесь одинаковы, хотя интерфейс отдельных экранов может отличаться.
Сначала разделите материал, тип и поле
В Drupal «материал» (content entity, обычно называемый node) — конкретная запись на сайте. Тип материала (content type) — её схема: набор полей и часть настроек публикации. Поле хранит отдельное значение: заголовок, дату, изображение или ссылку. Например, «Как выбрать роутер» — материал типа «Статья», а поле «Автор» — одно из его полей.
Это важно для навигации по админке. Вы создаёте тип материала в разделе структуры, а затем добавляете к нему поля. Когда редактор создаёт публикацию, он выбирает тип и заполняет подходящую форму. Тип не определяет автоматически весь внешний вид страницы: отображение полей на странице и в списках настраивается отдельно.
Создавайте тип не для каждой страницы, а для каждого устойчивого редакционного шаблона: если две группы записей отвечают на разные вопросы и требуют разных данных, им могут понадобиться разные типы.
Что выбирать: новый тип, поле или таксономию
Представьте сайт о технике, где есть обзоры, новости и инструкции. Новый тип уместен, если набор данных или редакционный процесс заметно отличается. Поле подходит, когда нужно добавить к существующим публикациям ещё одно свойство. Таксономия нужна, когда редакторы классифицируют материалы по повторяющимся категориям или меткам.
| Задача | Что использовать | Пример |
|---|---|---|
| У публикаций разный набор обязательных данных | Отдельный тип материала | У инструкции есть сложность и список шагов, у новости — дата события |
| Нужно хранить ещё одно значение у уже существующих записей | Поле | Добавить к обзорам поле «Оценка» |
| Нужно группировать материалы по общим темам | Таксономия | Категории «Смартфоны» и «Ноутбуки» |
| Нужно показать повторно используемый блок, который не является самостоятельной публикацией | Параграфы или другой подходящий компонент | Врезка с советом внутри статьи |
Таксономия — не просто ещё одно поле со списком. Словарь таксономии содержит термины, которые можно повторно назначать материалам и связывать между собой. Для списка значений, который редактор выбирает внутри одной записи и который не нужно использовать как систему классификации сайта, может хватить поля списка.
Сущность1 — объект Drupal с данными и полями. Материал (node) — один из видов контент-сущностей. Тип материала задаёт вариант такой сущности, например «Новость» или «Инструкция».
Как спроектировать типы до настройки Drupal
Не начинайте с кнопки «Добавить тип материала». Сначала выпишите, какие сведения нужны редактору и какие публикации должны попадать в одинаковые списки или шаблоны. Это помогает заметить, что разные названия могут скрывать один и тот же сценарий.
- Соберите примеры контента. Возьмите по несколько будущих записей каждого вида. Если у всех есть заголовок, анонс, основное изображение и текст, это кандидаты на общую структуру. Проверка: можете описать общий набор данных без исключений для каждой второй записи.
- Сравните поля и процесс публикации. Отметьте, какие значения обязательны, кто их заполняет и нужны ли отдельные этапы согласования. Проверка: отличия между группами записей перечислены конкретно, а не формулировкой «они немного разные».
- Решите, где нужны классификаторы. Повторяющиеся темы, направления или бренды вынесите в таксономию, если их нужно использовать для группировки. Проверка: термин можно назначить нескольким материалам, а не создавать заново для каждой записи.
- Создайте типы и поля. В административной части Drupal откройте раздел типов материалов, добавьте нужные типы, затем настройте поля и их обязательность. Названия пунктов меню могут немного отличаться в зависимости от версии и установленных модулей. Проверка: тестовая запись сохраняется с нужными значениями.
- Настройте отображение. Проверьте форму редактирования и страницу опубликованного материала отдельно. Порядок полей в форме влияет на работу редактора, а настройки отображения — на вывод посетителю. Проверка: редактор видит поля в удобном порядке, а на странице нет лишних технических значений.
- Проверьте список и фильтры. Убедитесь, что материалы попадают в нужные представления и их можно найти по выбранным классификаторам. Проверка: создайте по тестовой записи каждого типа и пройдите обычный сценарий редактора от черновика до публикации.
Ошибки, которые дорого исправлять
Один тип на всё
Универсальный тип с десятками необязательных полей кажется гибким, пока редактор не получает форму, где половина пунктов к его материалу не относится. Появляются пустые блоки, неодинаковое заполнение и сложные условия отображения. Если у разных групп контента действительно разные обязательные данные и сценарии, разделите их.
Слишком много типов
Обратная крайность — тип «Новость про телефон», тип «Новость про планшет» и тип «Новость про ноутбук». Если поля и процесс одинаковы, обычно лучше оставить один тип «Новость», а предметную область хранить в таксономии или другом подходящем поле. Так проще делать общие списки и обучать редакторов.
Категории зашиты в названия и поля
Текстовое поле «Раздел» позволяет вводить варианты вроде «обзор», «Обзоры» и «обзоры». Такие значения выглядят похоже, но система может считать их разными. Таксономия с единым словарём помогает поддерживать согласованные названия и строить группировки без ручной чистки текста.
Изменение структуры на опубликованном сайте
Добавить поле обычно проще, чем переосмыслить уже заполненные данные. При смене модели проверьте существующие записи, формы редактирования, представления и отображение. На рабочем сайте сначала проверяйте изменения на копии или тестовом окружении и планируйте перенос данных, если он нужен. Особое внимание уделите модулям и интеграциям, которые зависят от прежних типов и полей.
Где граница у типов материалов
Тип материала подходит для контента, который редактор создаёт и публикует как отдельную запись: статьи, новости, инструкции, карточки. Если данные принадлежат другой сущности — например, пользователю, файлу или товару из отдельного коммерческого модуля, — не стоит автоматически превращать их в обычные материалы. Сначала проверьте, какой объект уже предоставляет Drupal или установленный модуль.
Не путайте тип материала с типом контента в широком смысле. Страница может собираться из компонентов, выводиться через шаблон или формироваться представлением. Тип задаёт структуру записи, но не заменяет архитектуру вывода сайта. Про выбор конкретного способа построения страниц здесь речь не идёт.
Что сделать дальше
Возьмите пять реальных материалов, которые планируете опубликовать, и заполните для каждого таблицу полей: название, тип значения, обязательность, кто заполняет, где показывать. Затем объедините записи с одинаковой схемой и отдельно отметьте повторяющиеся классификаторы. После настройки создайте тестовую запись каждого типа и попросите редактора пройти форму без подсказок. Если он не понимает, какой тип выбрать или зачем нужно поле, вернитесь к структуре до массового наполнения сайта.
1 В документации Drupal сущность — программная модель объекта с данными; редактору обычно достаточно понимать её как отдельную запись определённого вида.
Создатель презентаций: Структура и текст каждого слайда: заголовки-утверждения, одна мысль на слайд, заметки докладчику.
Спросить за 150 ₽Источники: Drupal User Guide: Content types, Drupal User Guide: Taxonomy
Частые вопросы
Можно ли переименовать тип материала после создания?
Чем тип материала отличается от страницы?
Нужно ли создавать отдельный тип для каждой категории?
Можно ли добавить поле после публикации материалов?
Drupal 10 и Drupal 11 устроены по-разному в этой части?
Что делать, если редакторы постоянно выбирают не тот тип?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.