Отношения Drupal Views
В Drupal у меня есть 3 типа контента (A, B, C), смотрите ссылку. A и C содержат ссылку на узел B.
Теперь у меня есть представление, которое запрашивает поля из A из аргумента. Я также хочу показать поля от C через связку с B, так:
- А имеет ссылку на узел с идентификатором:1
B имеет ID узла:1
Я хочу показать поля из C, где ссылка на узел ID также 1. Как это возможно? Я не могу понять, сопоставление.
Может кто-нибудь помочь мне, пожалуйста?
1 ответ
В настоящее время вы можете легко перейти от A к B через ссылку на узел, но поскольку ссылка идет от C к B, вы не можете получить ссылку на C - это текущая проблема.
Короче говоря, вы можете решить эту проблему с помощью модуля Node Referrer (см. http://drupal.org/node/431308). По сути, он создает поле только для чтения, которое сообщает вам все узлы, указывающие от C до B (т. Е. Для каждой ссылки на узел создается своего рода обратная ссылка на узел).
Допустим, у нас есть следующие поля ссылки на узел
- В типе контента A у нас есть поле ссылки на узел
a_to_b_link
- В типе контента C у нас есть поле ссылки на узел
c_to_b_link
- В типе контента B у нас есть поле Node Referrer, которое отслеживает все ссылки в Node Reference.
c_to_b_link
Создание соответствующего представления немного сложнее.
- Сначала добавьте фильтр для
Node: Type = A
- Добавить отношение
a_to_b_link
, Убедитесь, что вы отметили флажокRequire this relationship
- Добавьте еще одно отношение из группы узлов под названием
Node: Referrers
, Также убедитесь, что в настройках отношений вы должны выбратьa_to_b_link
вRelationship
падать. Другими словами, вы создаете отношение, которое использует уже существующее отношение (сходное по концепции с указателем на указатель в C++). Убедитесь, что вы отметили флажокRequire this relationship
, Это отношение по умолчанию называетсяReferencing Nodes
от Drupal. - Теперь добавьте все поля, которые вы хотите, из типа контента A, как вы обычно делаете в представлении.
- Если вы хотите добавить поля из типа контента C, убедитесь, что вы выбрали отношение
Referencing Nodes