НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
182 of 182 menu

Таблица content_moderation_state

Таблица content_moderation_state является центральным хранилищем данных о состоянии модерации для контентных сущностей Drupal (нод, блоков, пользовательских сущностей и т.д.), которые используют систему workflow. Каждая запись в таблице соответствует определенному состоянию модерации конкретной сущности в определенной ревизии.

Поля

Поле Тип данных Описание
id serial Уникальный идентификатор записи о состоянии модерации. Первичный ключ таблицы.
content_entity_type_id varchar(32) Тип сущности, для которой хранится состояние модерации (например, node, block_content, custom_entity).
content_entity_id int Идентификатор сущности, для которой хранится состояние модерации. Вместе с content_entity_revision_id и content_entity_type_id образует уникальную связку.
content_entity_revision_id int Идентификатор ревизии сущности, для которой хранится состояние модерации.
moderation_state varchar(255) Текущее состояние модерации (например, draft, published, archived). Соответствует машинному имени состояния, определенному в workflow.
uid int Идентификатор пользователя, который установил текущее состояние модерации. Внешний ключ к таблице users.
created int UNIX timestamp времени создания записи о состоянии модерации.

Как это работает

Когда контентная сущность сохраняется с включенным moderation, система создает или обновляет запись в таблице content_moderation_state. Эта запись связывает конкретную ревизию сущности с определенным состоянием workflow.

При загрузке сущности система проверяет таблицу content_moderation_state, чтобы определить текущее состояние модерации и применить соответствующие права доступа. Например, контент в состоянии draft может быть виден только автору и редакторам, а контент в состоянии published доступен всем пользователям.

Каждое изменение состояния модерации создает новую запись в таблице, что позволяет отслеживать историю изменений состояний для каждой ревизии контента.

Таблица связана с другими таблицами Drupal через внешние ключи: uid ссылается на users.uid, а комбинация content_entity_type_id, content_entity_id и content_entity_revision_id ссылается на соответствующие таблицы сущностей (например, node, node_revision).

Пример SQL-запроса

Получить информацию о состояниях модерации для конкретной ноды:

SELECT cms.*, u.name as username, n.title FROM content_moderation_state cms JOIN users u ON cms.uid = u.uid JOIN node n ON cms.content_entity_id = n.nid WHERE cms.content_entity_type_id = 'node' AND cms.content_entity_id = 123 ORDER BY cms.created DESC;

Смотрите также

  • таблицу node,
    которая хранит основную информацию о материалах сайта
  • таблицу node_revision,
    которая хранит ревизии материалов
  • таблицу users,
    которая содержит данные пользователей
  • таблицу workflows,
    которая хранит определения workflow
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить