Модуль ссылки на узел (компонент CCK) предоставляет отличный способ создать ссылку одного узла из другого. Каков наилучший способ выявить двусторонние отношения между ними? Пример ниже:
Например, в системе отслеживания билетов с двумя билетами (узлами) A & B можно создать ссылку на узел из билета A -> B и пометить B как дочерний. При просмотре билета А эта информация будет тривиальной. Однако я также хотел бы отобразить эту взаимосвязь при просмотре билета B и показать билет A в качестве его родителя.
Это то же самое требование будет также применяться в неиерархических ситуациях (заявки C & D) со ссылкой из C -> D, отношения должны быть выставлены на билете D, а также на C.
Модуль ссылок на сущности теперь работает с соответствующими ссылками на сущности . Это идеально для всех узлов и не узловых объектов.
источник
Для Drupal 6 лучшим вариантом, вероятно, является модуль NodeReferrer . Для Drupal 7, Relation отвечает всем требованиям, но еще не готов.
источник
Если вы используете Drupal 7 / Views, вы можете построить «обратные» отношения, чтобы получить список узлов, которые ссылаются на данный узел (или, возможно, пользователей, которые ссылаются на данный узел). Проверьте патч в этом выпуске: http://drupal.org/node/1043260
По моему мнению, если вам не нужны явные, предварительно построенные обратные отношения, хранящиеся в базе данных (иногда это может быть полезно по соображениям производительности), использование одного из других решений является излишним. Вы всегда можете посмотреть отношения в своем собственном запросе SQL, если вам нужно ...
[Редактировать: с момента первоначального написания этого поста патч в вышеприведенном выпуске был зафиксирован в References for D7 и должен быть предпочтительным способом обратной ссылки (прекрасно работает, когда просто нужны списки узлов или пользователей, ссылающихся на определенный другой узел или пользователя) .]
[Редактировать 2: Если вы используете Entity Reference, похоже, что предпочтительным решением является использование соответствующих ссылок на сущности , а также имеется менее широко используемая синхронизация полей с ссылками на сущности .]
источник
В Drupal 7 (который вы указали) кажется, что решение состоит в том, чтобы использовать Справочный модуль сущностей в сочетании с модулем (Поля синхронизации) справочных полей (Entity), который добавляет необходимые функциональные возможности для синхронизации отношений.
То же самое может быть достигнуто с помощью модуля References Module с модулем cnr - это решение работает (в настоящее время я использую его на одном сайте Drupal 7), но оно устарело / устарело в пользу первого решения, которое я дал.
Все остальные решения, упомянутые в приведенных выше ответах, относятся только к Drupal 6 (за исключением Relation, который потенциально может стать отличным модулем, но сейчас, на самом деле, ничего особенного и много проблем).
источник
В качестве альтернативы, если вы работаете над пользовательской реализацией и хотите получить прямой способ возврата назад, вы можете подключиться
nodeapi
, прослушатьsave
операцию, а затем программно обновить указанный узел.источник
Вы также можете попробовать модуль Reverse Node Reference .
источник
Просто используйте Правила и это правило http://drupal.org/node/1836240
источник
Вы можете использовать модуль Content Dependency .
Он предоставляет вам обратные ссылки через вкладку и поддерживает следующие модули: ссылка на узел / ссылка на сущность .
источник