Moduł odniesienia do węzła (komponent CCK) zapewnia świetny sposób na utworzenie odniesienia między węzłami. Jaki jest najlepszy sposób na ujawnienie dwustronnej relacji między nimi? Przykład poniżej:
Na przykład w systemie śledzenia biletów z dwoma biletami (węzłami) A i B można utworzyć odniesienie do węzła z biletu A -> B i oznaczyć B jako dziecko. Podczas wyświetlania biletu A wyświetlenie tych informacji byłoby banalne. Chciałbym również wyświetlić tę relację podczas przeglądania biletu B i pokazania biletu A jako jego rodzica.
Ten sam wymóg miałby również zastosowanie w sytuacjach niehierarchicznych (bilety C i D) z odniesieniem od C -> D, relacja powinna być ujawniona na bilecie D, a także na C.
Moduł referencyjny encji działa teraz z referencjami odpowiednich encji . Jest to idealne rozwiązanie dla wszystkich węzłów i jednostek innych niż węzły.
źródło
W przypadku Drupala 6 najlepszą opcją jest prawdopodobnie moduł NodeReferrer . W przypadku Drupala 7 Relacja pasuje do rachunku, ale nie jest jeszcze gotowa.
źródło
Jeśli korzystasz z Drupal 7 / Views, możesz zbudować relację odwrotną, aby uzyskać listę węzłów, które odnoszą się do danego węzła (lub, być może, użytkowników, którzy odnoszą się do danego węzła). Sprawdź poprawkę w tym numerze: http://drupal.org/node/1043260
Moim zdaniem, chyba że potrzebujesz jawnej, wstępnie zbudowanej relacji odwrotnej przechowywanej w bazie danych (może to czasem być pomocne ze względu na wydajność), użycie jednego z innych rozwiązań jest przesadą. Zawsze możesz wyszukać relację we własnym zapytaniu SQL, jeśli chcesz ...
[Edycja: Od czasu napisania tego postu łatka w powyższym wydaniu została przypisana do Odniesień do D7 i powinna być preferowanym sposobem odwołań zwrotnych (działa świetnie, gdy po prostu potrzebujesz list węzłów lub użytkowników odwołujących się do określonego innego węzła lub użytkownika) .]
[Edycja 2: Jeśli używasz Referencji encji, wygląda na to, że preferowanym rozwiązaniem jest użycie odpowiednich referencji encji , a także rzadziej używana synchronizacja pola referencji encji .]
źródło
W Drupal 7 (który wskazałeś) wydaje się, że rozwiązaniem jest użycie modułu referencyjnego encji w połączeniu z modułem synchronizacji pola referencyjnego (encji), który dodaje funkcjonalność niezbędną do synchronizacji relacji.
To samo można osiągnąć dzięki modułowi Referencje z modułem cnr - to rozwiązanie działa (obecnie używam go na jednej stronie Drupal 7), ale staje się przestarzałe / przestarzałe na rzecz pierwszego rozwiązania, które podałem.
Wszystkie inne rozwiązania wspomniane w powyższych odpowiedziach dotyczą tylko Drupala 6 (z wyjątkiem Relacji, która może stać się świetnym modułem, ale w tej chwili tak naprawdę niewiele robi i ma wiele problemów).
źródło
Alternatywnie, jeśli pracujesz nad niestandardową implementacją i chcesz prostego sposobu odwoływania się z powrotem, możesz podłączyć się
nodeapi
, nasłuchiwaćsave
operacji i następnie programowo zaktualizować odwołany węzeł.źródło
Możesz także wypróbować moduł Odwołanie do odwróconego węzła .
źródło
Wystarczy użyć Reguł i tej reguły http://drupal.org/node/1836240
źródło
Możesz użyć modułu Zależności treści .
Zapewnia odwrotne odniesienia za pomocą karty i obsługuje następujące moduły: odwołanie do węzła / odwołanie do obiektu .
źródło