it-swarm-ko.tech

양방향 노드 참조를 구현하는 방법은 무엇입니까?

노드 참조 모듈 (CCK의 구성 요소)은 한 노드에서 다른 노드로 참조를 작성하는 좋은 방법을 제공합니다. 둘 사이의 양방향 관계를 노출시키는 가장 좋은 방법은 무엇입니까? 아래 예 :

예를 들어, 티켓 (노드) A와 B가 두 개인 티켓 추적 시스템에서는 티켓 A-> B에서 노드 참조를 작성하고 B를 자식으로 표시 할 수 있습니다. 티켓 A를 볼 때이 정보를 표시하는 것은 쉽지 않습니다. 그러나 티켓 B를 볼 때이 관계를 표시하고 티켓 A를 부모로 표시하고 싶습니다.

C-> D를 참조하여 비 계층 적 상황 (티켓 C & D)에도 동일한 요구 사항이 적용되며 관계는 티켓 D와 C에 노출되어야합니다.

20
markdorison

사용 가능한 많은 모듈이 있으며, 마일리지가 다를 수 있습니다.

BackReference (Drupal 6 만 해당)

NodeReferrer (중복 7 베타 출시)

노드 관계 (Drupal 6 만 해당)

해당 노드 참조 (중복 7 안정 릴리스)

해당 엔티티 참조 (Drupal 7 dev 릴리스)

콘텐츠 종속성 (Drupal 7 안정 릴리스)

25
tim.plunkett

Entity Reference Module 은 이제 Corresponding Entity References 와 함께 작동합니다. 이것은 모든 노드와 비 노드 엔티티에 이상적입니다.

7
tmsimont

Drupal 6의 경우 가장 좋은 옵션은 NodeReferrer 모듈 일 것입니다.의 경우 Drupal 7, Relation 청구서에 맞지만 아직 준비되지 않았습니다.

4
Pierre Buyle

Drupal 7/Views)를 사용하는 경우 'reverse'관계를 구축하여 주어진 노드를 참조하는 노드 목록을 얻거나 주어진 노드를 참조하는 사용자를 얻을 수 있습니다 이 문제에서 패치를 확인하십시오 : http://drupal.org/node/104326

내 의견으로는, 데이터베이스에 저장된 명시 적으로 사전 구축 된 역 관계가 필요하지 않으면 (이것은 때로는 성능상의 이유로 도움이 될 수 있음) 다른 솔루션 중 하나를 사용하는 것은 과잉입니다. 필요한 경우 언제든지 자신의 SQL 쿼리에서 관계를 찾을 수 있습니다 ...

[편집 :이 게시물을 처음 작성한 이후로, 위 문제의 패치는 D7에 대한 참조를 위해 최선을 다했으며 역 참조의 선호되는 방법이어야합니다 (단순히 다른 노드 또는 사용자를 참조하는 노드 또는 사용자 목록이 필요한 경우 효과적 임) .]

[편집 2 : 엔티티 참조를 사용하는 경우 선호되는 솔루션은 해당 엔티티 참조 를 사용하는 것 같고 덜 널리 사용되는 엔터티 참조 필드 동기화 .]

4
geerlingguy

Drupal 7 (표시 한)에서 해결책은 Entity Reference Module 을- (Entity) Reference Field Synchronization module 관계를 동기화 된 상태로 유지하는 데 필요한 기능을 추가합니다.

참조 모듈cnr 모듈 을 사용하여 동일한 결과를 얻을 수 있습니다-이 솔루션이 작동합니다 (현재 하나의 Drupal 7 사이트에서 사용하고 있습니다) ), 내가 제공 한 첫 번째 솔루션에 찬성하여 더 이상 사용되지 않거나 사용되지 않습니다.

위의 답변에 언급 된 다른 모든 솔루션은 Drupal 6 에만 해당됩니다 ( Relation 제외). 훌륭한 모듈이지만 지금은 실제로 많은 일을하지 않으며 많은 문제가 있습니다).

3
Moshe Eshel

또는 사용자 정의 구현을 수행 중이고 곧바로 참조하는 방법을 원한다면 nodeapi에 연결하고 save 조작을 청취하고 참조 된 노드를 프로그래밍 방식으로 업데이트 할 수 있습니다.

2
enikola

Reverse Node Reference 모듈을 사용해보십시오.

1
user580

간단히 규칙과이 규칙을 사용하십시오 http://drupal.org/node/183624

0
giorgio79

Content Dependency 모듈을 사용할 수 있습니다.

탭을 통해 역 참조를 제공하고 다음 모듈을 지원합니다 : node reference/entity reference.

0
drupal