Я пытался создать представление, которое получает все узлы, находящиеся в модерируемом «черновом» состоянии, созданном модулем модерации группового контента. Текущий фильтр состояния содержимого представлений не будет работать. У модуля есть патч, но этот патч требует предоставления пользователю разрешений на пересмотр содержимого всего сайта, и мы хотим предоставить эти разрешения только на уровне группы.
Я хочу создать свой собственный фильтр представлений для узлов в текущем состоянии черновика. Я хочу создать фильтр, который можно использовать с дополнительными фильтрами в представлении, а не с отдельным запросом представлений. Этот код sql сделает это:
выберите * из content_moderation_state_field_revision, где (content_entity_id, content_entity_revision_id) в
(
выберите content_entity_id, MAX(content_entity_revision_id) из content_moderation_state_field_revision, где moderation_state = группа «черновик» по content_entity_id
)
Я также могу изменить выше, чтобы отфильтровать определенный nid (в случае узлов чтения цикла).
Я понимаю, что один из способов сделать это с помощью hook_views_data_alter()
Но я не могу найти пример использования этого хука для создания фильтра представлений с использованием SQL, который я могу понять.Может ли кто-нибудь помочь мне здесь? Спасибо!