기존 필드를 사용하는 올바른 방법은 무엇입니까?


13

저는 Drupal 초보자입니다. 콘텐츠 유형에 필드를 추가하는 데 약간 혼란 스럽습니다.

사례 1 : 세 가지 콘텐츠 유형이 Book있고 Article& 이라고 가정하십시오 White Paper. Authors모든 저자의 목록이 포함 된 어휘를 만들었습니다 .

  1. 이제 각 컨텐츠 유형에 대해 "작성자"필드 (작성자에 대한 용어 참조)를 작성하거나 하나의 컨텐츠 유형에 대한 필드를 작성하여 다른 컨텐츠 유형에 사용해야합니까?

  2. 두 방법의 장점 / 단점은 무엇입니까?

  3. 하나의 컨텐츠 유형에서 재사용 필드를 삭제하면 어떻게됩니까? 다른 모든 항목에서 삭제됩니까?

사례 2 : 다음과 같은 컨텐츠 유형을 다뤘습니다. (지정된 필드 요구 사항이있는 경우)

+--------------+----------------------+
| Content Type | Field Required       |
+--------------+----------------------+
| Book         | Year of publication  |
+--------------+----------------------+
| Presentation | Date of Presentation |
+--------------+----------------------+
| Article      | Date of Publication  |
+--------------+----------------------+
| Event        | Held On              |
+--------------+----------------------+

어떻게해야합니까? 하나의 컨텐츠 유형에 대해 단일 필드를 작성하고 다른 모든 컨텐츠 유형에 사용하거나 각 컨텐츠 유형에 대한 필드를 작성해야합니까?

기존 필드를 적절하게 재사용 할시기와 방법을 명확하게 이해하도록 도와주세요.

답변:


8

각 컨텐츠 유형에 대해 "작성자"필드 (작성자에 대한 용어 참조)를 작성하거나 하나의 컨텐츠 유형에 대한 필드를 작성하여 다른 컨텐츠 유형에 사용해야합니까?

다른 컨텐츠 유형에 대해 동일한 정보를 수집해야하는 경우 단일 필드를 사용해야합니다. "Written by"필드는 완벽한 사례처럼 들립니다. "책 저자", "기사 저자"등의 저자에 대해 다른 어휘가있는 경우 각각에 대해 별도의 필드를 사용해야합니다.

두 방법의 장점 / 단점은 무엇입니까?

한 가지 장점은 하나의 필드로 모든 컨텐츠 유형을 조회 할 수 있다는 것입니다. 따라서 한 명의 작성자가 작성한 모든 컨텐츠 또는 모든 작성자가 작성한 모든 컨텐츠를 보려는 경우이를 수행하기위한보기를 쉽게 작성할 수 있습니다. 그러나 그것은 필요할 때만 유용합니다. 요점은 필드 자체의 사용 사례가 실제로 두 방법의 상대적인 장점 / 단점을 지시한다고 가정합니다.

또한 필드를 작성할 때마다 두 개의 데이터베이스 테이블 (하나는 현재 데이터, 하나는 개정 데이터)을 작성합니다. 이 저장 방법이 성능 관점에서 최상의 아이디어인지에 대한 "혼합 된"느낌이 있으며, 일부 사람들은 테이블 수를 줄이는 것을 선호합니다. 기존 필드를 다른 컨텐츠 유형에 첨부하면 모든 데이터베이스 테이블에 동일한 데이터베이스 테이블이 사용되므로 상자가 선택됩니다. 다시 말하지만, 데이터를 분리 할 수있을 때만 의미가 있습니다.

하나의 컨텐츠 유형에서 재사용 필드를 삭제하면 어떻게됩니까? 다른 모든 항목에서 삭제됩니까?

모든 컨텐츠 유형에서 분리 된 후에 만 ​​필드가 삭제됩니다. 필드를 분리 한 컨텐츠 유형에 속하는 데이터는 삭제 된 데이터 테이블로 이동하고 cron 실행 중에 제거됩니다.

사례 2로 넘어 가서 스스로에게 물어보십시오 ...

동일한 필드의 각 컨텐츠 유형 인스턴스에 대해 서로 다른 레이블을 가질 수 있다는 점을 명심하면 데이터 간의 차이점을 알 수있는 시각적 (또는 데이터 주도) 신호를 충분히 제공 할 수 있습니까?

그렇다면 단일 날짜 필드를 사용하여 위에서 언급 한 이점을 얻으십시오. 그렇지 않은 경우 별도의 필드를 갖는 것이 데이터 디자인에 더 적합합니다.

모든 것이 특정 웹 사이트에 적합한 것으로 내려지지 만 위의 내용이 앞으로 나아갈 수 있기를 바랍니다.


나는 이것을 이해하지 못했다 :Keeping in mind that you can have different labels for each content type's instance of the same field, will that give you enough of a visual (or data-led) cue to let you know the differences between the data?
발톱

4
방금 데이터와 관련하여 필요한 작업을 기반으로 선택하는 것은 전적으로 귀하의 몫임을 의미했습니다. 출판 일과 발표 날짜를 예로 들어, 분리 된 것이 중요합니까? 해당 날짜를 기준으로 컨텐츠를 필터링해야합니까? 단일 필드를 사용하면 원치 않는 결과를 제공 하고 해당 필드를 필터링 할 때 모든 컨텐츠 유형에 대한 데이터를 가져 옵니까? 이것들은 스스로에게 물어볼 질문입니다. 실제로 데이터 디자인 문제이며 Drupal의 엔티티 / 필드 시스템은 추상화 계층 일뿐입니다. Drupal 외부에서이를 설계하는 경우 해당 데이터를 동일한 테이블에 배치 하시겠습니까?
Clive
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.