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


20

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

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

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

답변:




4

Drupal 6의 경우 가장 좋은 옵션은 NodeReferrer 모듈 일 것입니다 . Drupal 7의 경우 Relation 은 법안에 부합하지만 아직 준비되지 않았습니다.


나는 항상 가치있는 것에 NodeReferrer 모듈을 사용합니다
electblake

1
관계 모듈은 이제 '12 월 7 일부터 시작되었습니다
ted.strauss

예, 관계는 매우 강력한 옵션으로 보입니다. 그렇지 않으면 CER도 좋은 경량 옵션입니다.
shivams

4

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

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

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

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


엔티티 참조를 위해 참조가 더 이상 사용되지 않는 것 같습니다. 그 대답이 어디에서 나오는지 확실하지 않습니다.
Jay

1
D7이 먼 메모리가 될 때까지 참조는 계속 고착됩니다. 그러나 ER을 사용 하는 경우 해당 엔티티 참조 를 사용 하여 참조가 제공하는 것과 동일한 작업을 수행 할 수 있습니다 .
geerlingguy

3

에서 드루팔 7 (당신이 표시)이 솔루션이 사용하는 것 엔티티 참조 모듈을 함께 조합 (법인) 참조 필드를 동기화 모듈을 서로 연관 관계를 유지하는 데 필요한 기능을 추가합니다.

cnr 모듈 과 함께 References Module을 사용 하여 동일한 결과를 얻을 수 있습니다. 이 솔루션은 효과가 있지만 (현재 Drupal 7 사이트에서 사용하고 있지만) 첫 번째 솔루션을 선호하여 더 이상 사용되지 않거나 사용되지 않습니다.

위의 답변에서 언급 된 다른 모든 솔루션은 Drupal 6 에만 관련이 있습니다 ( 관계 가 큰 모듈이 될 수는 있지만 현재 많은 일을하지 않고 많은 문제가 있음을 제외하고).


이 답변은 최근에 이루어졌으며 Moshe는 Drupal 커뮤니티의 선임 회원입니다. 받아 들여진 대답에서 안정된 D7 모듈은 CNR 뿐이며 CER을 선호하여 감가 상각되고 있습니다 (현재 안정적인 릴리스가 없음).
aendrew

1
관계는 3 월에도 많은 문제가 없었습니다. 그리고 Moshe Eshel drupal.org/user/168876 ! = Moshe Weitzman drupal.org/user/23 (그 uid를보십시오 ...) btw.

@chx 나는 내가 선임 멤버로 등장한 것을보고 놀랐다. 나는 더 나은 공헌자가 되려고 노력하고 있지만, 나는 Original Moshe의 수준으로 올라갈 것이라고 생각하지 않는다. 관계 모듈과 관련하여, 나는 아는 사람의 의견 (이름을 밝히지 않을 것입니다)의 피드백을 기반으로했습니다-나는 실제로 그것을 테스트 할 기회가 없었으며 그 의견에 의존했습니다. 현재 D7 프로젝트를 진행 중입니다. 프로젝트가 필요할 때 업데이트 된 의견을 보내 드리겠습니다.
Moshe Eshel

2

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




0

컨텐츠 종속성 모듈을 사용할 수 있습니다 .

탭을 통해 역 참조를 제공하고 노드 참조 / 항목 참조 모듈을 지원합니다 .


1
이것이 상호 참조를 만드는 데 어떻게 사용될 수 있는지 확실하지 않습니까?
mpdonadio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.