Рейтинг:0

создать фильтр представлений из sql

флаг gb

Я пытался создать представление, которое получает все узлы, находящиеся в модерируемом «черновом» состоянии, созданном модулем модерации группового контента. Текущий фильтр состояния содержимого представлений не будет работать. У модуля есть патч, но этот патч требует предоставления пользователю разрешений на пересмотр содержимого всего сайта, и мы хотим предоставить эти разрешения только на уровне группы.

Я хочу создать свой собственный фильтр представлений для узлов в текущем состоянии черновика. Я хочу создать фильтр, который можно использовать с дополнительными фильтрами в представлении, а не с отдельным запросом представлений. Этот код 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, который я могу понять.Может ли кто-нибудь помочь мне здесь? Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.