[РЕШЕНО] Хитросплетения в отношениях

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

Аватар пользователя whiesam whiesam 20 января 2014 в 3:47

В общем встала передо мной непростая задача с вьюшками и отношениями.

Что имеем:
Нода "Документ" - Имеет поле типа Entity Reference на ноду "Проект".
Нода "Проект" - имеет поле связи с Profile2 (Тут пофиг, можно и на пользователя повесить).

Задача:
Если юзер связан с проектом, то он должен видеть все доки связанных проектов.

100500 вариантов отношений и контекстных фильтров уже перепробовал.

Комментарии

Аватар пользователя MerryHamster MerryHamster 20 января 2014 в 21:22

Как я вижу ситуацию, если в "Проект" есть тоже поле типа entity reference на user-ов:
- вариант первый: вьюс по пользователям с контекстным фильтром по текущему пользователю, потом добавляешь связь er-ing по полю, которое в "проекте" (так получишь проекты), добавь поле заголовок и выбери добавленную связь, чтобы наглядно видеть что достал добавленной связью. Потом добавь еще одну связь er-ing по полю, которое в "документе" и добавь в поле заголовок уже вторую связь.
- вариант второй: вьюс по документам. Добавляем связь er-ed по полю "проекта" и получаем список проектов, если у поля заголовка включить связь добавленную эту. Потом добавь связь er-ed по полю, которое в проекте по пользователям. И добавь эту связь к полю заголовка. Ну и контекстный фильтр по текущему пользователю нужно добавить.
один из вариантов должен сработать

Аватар пользователя whiesam whiesam 10 ноября 2015 в 11:49

"MerryHamster" wrote:
Как я вижу ситуацию, если в "Проект" есть тоже поле типа entity reference на user-ов:
- вариант первый: вьюс по пользователям с контекстным фильтром по текущему пользователю, потом добавляешь связь er-ing по полю, которое в "проекте" (так получишь проекты), добавь поле заголовок и выбери добавленную связь, чтобы наглядно видеть что достал добавленной связью. Потом добавь еще одну связь er-ing по полю, которое в "документе" и добавь в поле заголовок уже вторую связь.
- вариант второй: вьюс по документам. Добавляем связь er-ed по полю "проекта" и получаем список проектов, если у поля заголовка включить связь добавленную эту. Потом добавь связь er-ed по полю, которое в проекте по пользователям. И добавь эту связь к полю заголовка. Ну и контекстный фильтр по текущему пользователю нужно добавить.
один из вариантов должен сработать

Я в принципе так и делал. Есть НО: при добавлении связи в поле названия пропадает всё (при варианте с вьюхой через содержимое). До Проектов добираюсь, норм, а вот документы уже не выводит.
Через пользователя: Та же фигня, до Проектов дохожу а дальше пустые поля. Но тут связь в полях работает.

Вот 2 скрина вьюшек, по юзеру и по содержимому, мб что увидишь.

Аватар пользователя Inj Inj 21 января 2014 в 2:15

Ну если правильно понял, то можно создать вьюху с доками, отношение с проектами. Дальше фильтр: показать только доки проектов доступных юзеру...или чего не так?

Аватар пользователя whiesam whiesam 21 января 2014 в 3:04

"Inj" wrote:
Дальше фильтр: показать только доки проектов доступных юзеру...или чего не так?

Это что за фильтр такой?

Аватар пользователя Inj Inj 21 января 2014 в 3:12

ну в стандартных фильтрах есть "Доступ к материалу: Доступ", уж не знаю поможет ли. Ну и всегда остается возможность использовать фильтром PHP-код, где можно вообще всё

Аватар пользователя whiesam whiesam 21 января 2014 в 3:53

"Inj" wrote:
ну в стандартных фильтрах есть "Доступ к материалу: Доступ", уж не знаю поможет ли. Ну и всегда остается возможность использовать фильтром PHP-код, где можно вообще всё

Получилось, вьюшка по юзеру, добавил "Доступ к материалу: Доступ" со связью на поле в ноде "Документ".