Das Knotenreferenzmodul (eine Komponente von CCK) bietet eine hervorragende Möglichkeit, eine Referenz von einem Knoten auf einen anderen zu erstellen. Was ist der beste Weg, um eine wechselseitige Beziehung zwischen den beiden aufzudecken? Beispiel unten:
In einem Ticket-Tracking-System mit zwei Tickets (Knoten A und B) könnten Sie beispielsweise eine Knotenreferenz aus Ticket A -> B erstellen und B als untergeordnetes Element markieren. Beim Anzeigen von Ticket A wäre es trivial, diese Informationen anzuzeigen. Ich möchte diese Beziehung jedoch auch anzeigen, wenn Ticket B angezeigt und Ticket A als übergeordnetes Element angezeigt wird.
Dieselbe Anforderung würde auch in nicht hierarchischen Situationen (Tickets C & D) mit einem Verweis von C -> D gelten. Die Beziehung sollte sowohl auf Ticket D als auch auf C offengelegt werden.
Das Entitätsreferenzmodul funktioniert jetzt mit den entsprechenden Entitätsreferenzen . Dies ist ideal für alle Knoten und Nicht-Knoten-Entitäten.
quelle
Für Drupal 6 ist wahrscheinlich das NodeReferrer-Modul die beste Option . Für Drupal 7 passt Relation , ist aber noch nicht fertig.
quelle
Wenn Sie Drupal 7 / Views verwenden, können Sie eine umgekehrte Beziehung aufbauen, um eine Liste der Knoten zu erhalten, die auf einen bestimmten Knoten verweisen (oder möglicherweise Benutzer, die auf einen bestimmten Knoten verweisen). Lesen Sie den Patch in dieser Ausgabe: http://drupal.org/node/1043260
Meiner Meinung nach ist die Verwendung einer der anderen Lösungen zu teuer, es sei denn, Sie benötigen die explizite, vorgefertigte umgekehrte Beziehung, die in der Datenbank gespeichert ist (dies kann manchmal aus Leistungsgründen hilfreich sein). Sie können jederzeit eine Beziehung in Ihrer eigenen SQL-Abfrage nachschlagen, wenn Sie ...
[Bearbeiten: Seit dem ursprünglichen Schreiben dieses Beitrags wurde der Patch in der obigen Ausgabe den Verweisen für D7 zugewiesen und sollte die bevorzugte Methode für die Rückreferenzierung sein. .]
[Bearbeiten 2: Wenn Sie eine Entitätsreferenz verwenden, sieht es so aus, als ob die bevorzugte Lösung darin besteht, entsprechende Entitätsreferenzen zu verwenden , und es gibt auch die weniger verbreitete Synchronisierung von Entitätsreferenzfeldern .]
quelle
In Drupal 7 (das Sie angegeben haben) scheint es die Lösung zu sein, das Entity Reference Module in Kombination mit dem (Entity) Reference Field Synchronization-Modul zu verwenden, das die erforderliche Funktionalität hinzufügt, um die Beziehungen synchron zu halten.
Dasselbe kann mit dem Referenzmodul mit dem cnr-Modul erreicht werden - diese Lösung funktioniert (ich verwende sie derzeit auf einer Drupal 7-Site), wird jedoch zugunsten der ersten von mir angegebenen Lösung hinfällig / veraltet.
Alle anderen in den obigen Antworten genannten Lösungen sind nur für Drupal 6 relevant (mit Ausnahme von Relation, das das Potenzial hat, ein großartiges Modul zu werden, das jedoch im Moment nicht wirklich viel bewirkt und viele Probleme aufweist).
quelle
Wenn Sie alternativ an einer benutzerdefinierten Implementierung arbeiten und eine direkte Möglichkeit zum Zurückverweisen wünschen, können Sie den referenzierten Knoten
nodeapi
einbinden, auf densave
Vorgang warten und dann programmgesteuert aktualisieren.quelle
Sie können auch das Reverse Node Reference- Modul ausprobieren .
quelle
Verwenden Sie einfach Rules und diese Regel http://drupal.org/node/1836240
quelle
Sie können das Inhaltsabhängigkeitsmodul verwenden .
Es bietet Ihnen umgekehrte Referenzen über die Registerkarte und unterstützt die folgenden Module: Knotenreferenz / Entitätsreferenz .
quelle