엔티티 참조와 분류법 유형을 다른 유형보다 사용해야

회원이있는 팀이 있다고 가정 해 보겠습니다. 팀의 콘텐츠 유형과 개별 팀 구성원의 콘텐츠 유형이 있습니다. 예를 들어 팀이 부서에 속할 수 있고 개인 또는 팀에 할당 할 수있는 프로젝트가있는 등 다른 관계도 있다고 가정 해 봅시다.

내가 이해하는 것처럼 엔티티 참조 또는 분류 용어를 사용하여 이러한 엔티티 간의 관계를 정의 할 수있는 두 가지 방법이 있습니다. 한 유형을 다른 유형보다 사용해야 할 때는 언제입니까? 한 가지 방법 만 선택하거나 혼합하는 것이 가장 좋습니까?

분류 체계가 가장 유연한 것 같습니다. 분류 체계 유형을 사용하여 나무를 쉽게 만들 수 있습니다. 엔티티 참조를 사용한 경우 분류를 추가하는 것 외에 중복을 초래하는 간단한 방법을 생각할 수 없습니다.

내가 이해하지 못하는 것이있는 것처럼 느껴지지만 그것이 무엇인지 잘 모르겠습니다!

도움을 주시면 감사하겠습니다.



답변

여기서 두 가지 다른 개념에 대해 이야기하고 있습니다. 첫 번째 질문은 콘텐츠를 다른 범주로 구성하려는 경우 또는 기존 콘텐츠 형식 간의 관계를 구축하려는 경우와 관련이 있습니다. 다른 질문은 분류법을 사용할 때 분류법 참조 필드 또는 엔티티 참조 필드를 사용하는 것이 더 좋을지입니다.


첫 번째 개념에 대하여

사용 사례에 따라 다릅니다. 분류법은 언급 한 것처럼 계층 구조를 구축하는 데 유용하지만 실제 내용을 포함하기 위해 분류법을 사용하지 않는 것이 이상적입니다. 이유는 간단합니다. 분류 용어에 필드를 추가 할 수 있지만 분류 체계의 모든 계층 레벨은 동일한 필드를 사용합니다. 다른 팀에 속한 멤버와 함께 모범을 보이면 문제가 발생할 수 있습니다. 예를 들어, 회원의 이름, 성 및 전기에 대한 정보를 저장하고이 필드를 분류법에 추가하려는 경우 팀 또는 멤버에 대한 정보를 더 많이 저장하려면 팀 조건에서도 사용할 수 있습니다. 팀에 대한 팀 설명 필드를 추가하면 팀 구성원에게 해당 필드가 표시됩니다.

분류법은 유사한 항목을 계층 적으로 구성 할 때 가장 잘 사용됩니다 . 예를 들어 태그와 같이

  • 야채
    • 당근
    • 감자
  • 과일
    • 사과
    • 바나나

엔티티 참조는 컨텐츠 유형 사이의 관계설정 하는 데 탁월합니다 . 예를 들어 노드 유형이 ‘team’이고 노드 유형이 ‘팀원’인 경우 각 필드에 고유 필드가 있습니다. 또는 ‘뮤지션’자체를 참조하는 ‘앨범’을 참조하는 노드 유형 ‘노래’. 이와 관련하여 엔티티 참조는보다 복잡한 관계를 허용하므로 분류법보다 유연합니다. 뷰를 사용할 때 이러한 관계를 활용할 수도 있습니다. 예를 들어, 모든 팀 구성원의보기를 작성하고 관계에 대한 엔티티 참조를 사용하여 구성원 노드의 필드와 함께 팀 컨텐츠 유형의 모든 필드를 표시 할 수 있습니다.

믹싱 노드 참조 및 분류 필드도 합법적입니다. 팀에 대한 예에서 팀과 구성원은 모두 노드 참조가 될 수 있으며 엔티티 참조로 서로를 참조합니다. 동시에 부서는 사용 가능한 모든 부서의 분류 체계가 될 수 있습니다.


두 번째 개념에 대하여

DO가 D7을 출시했을 때 분류 체계를 참조 할 때 사용할 분류 체계 참조 필드와 함께 제공되었습니다. 그 이후로 우리는 Entity API 모듈과 결과적으로 엔티티 참조 모듈의 출시를 보았으며 용어와 분류 체계는 엔티티이기 때문에 다른 엔티티처럼 참조 할 수 있습니다. 이 시점에서 두 가지는 매우 유사하게 작동하며 많은 경우 어떤 것을 사용하든 중요하지 않습니다. 그러나 필드 포매터와 위젯을 제공하는 일부 기여 된 모듈이 여전히 존재하며, 이들 중 하나만 작동합니다. 따라서 분류 참조 또는 엔터티 참조를 사용해야하는 경우 이러한 포맷터가 필요한지 여부는 대부분 다릅니다.

DO가 분류 참조 필드를 D8의 엔티티 참조 필드로 바꾸고 있기 때문에 분류 모듈에서 제공하는 필드가 아니라 분류 참조에 링크하기 위해 엔티티 참조 필드를 사용하는 것을 선호합니다.