Вывод всех нод, на которых не ссылаются другие ноды

Главные вкладки

Аватар пользователя listman listman 6 сентября 2019 в 20:30

Доброго времени суток!
Возникла проблема, в выводе нод, на которых нет связей с других нод, для пользователя без прав администратора.

Есть два типа нод: [тип a] и [тип b]
Ноды [тип b] ссылаются, посредством reference field на некоторые ноды [тип a]

  1. Необходимо вывести, для обычных юзеров, все ноды [типа а], на которые НЕ ссылаются ноды [тип b].
  2. Отобразить списком для пользователей

Что сделано?

  1. Через Views добавлена связь по полю, которое ссылается на ноды [тип a].
  2. В фильтрах выставляю показывать только ноды [тип a], а так же условие, что ссылающееся поле ноды не пустое.

Проблема

В итоге успешно вывожу данный список, НО данный вывод работает только для администратора. Для всех остальных ролей, данный вывод отсутствует.

Пожалуйста, подтолкните на возможное решение.

drupal 8

ВложениеРазмер
Иконка изображения Views reference field for anonymous14.18 КБ

Лучший ответ

Аватар пользователя ivnish ivnish 6 сентября 2019 в 20:39

Если это представление никак не повлияет на безопасность, то можно сделать "SQL rewriting" в настройках представления

Комментарии

Аватар пользователя listman listman 6 сентября 2019 в 21:07

Все ноды опубликованы, да и права выставлены ролям на просмотр неопубликованных.
Проблема именно в отработки связи по reference field

Аватар пользователя ivnish ivnish 6 сентября 2019 в 20:39

Если это представление никак не повлияет на безопасность, то можно сделать "SQL rewriting" в настройках представления

Аватар пользователя listman listman 10 сентября 2019 в 19:13

Спасибо.
Пришел к выводу, что сейчас этот вопрос проще решить способом SQL rewriting
Если кому интересен данный вопрос поднят ишьюсом https://www.drupal.org/node/1349080, проблема с node_access filters.

PS: Мне патчи не помогли

Аватар пользователя listman listman 9 сентября 2019 в 13:48

localhost/testpage

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