В настоящее время вы можете легко перейти от 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