it-swarm-ko.tech

콘텐츠 유형의 버전 제어

콘텐츠 유형을 만들고 싶습니다. 내 문제는이 콘텐츠 유형이 자주 변경된다는 것입니다 (6 개월마다 일부 필드를 추가하고 다른 필드는 삭제합니다).

어떻게 하시겠습니까? 몇 가지 옵션을 생각했습니다.

1) 내가 만드는 모든 버전에 대한 기본값이있는 "버전"필드를 만듭니다. "hook_form_alter"를 사용하면 버전에 따라 필드를 숨기거나 표시합니다.

2) 또 다른 옵션은 "contenttype_10", "contenttype_11", "contenttype_20", ... 모든 버전에 대해 새 컨텐츠 유형을 생성하는 것입니다. 기존 컨텐츠 유형의 모든 필드를 복사하여 새 컨텐츠 유형을 생성 할 수있는 모듈이 있습니까? ?

당신이 그것에 대해 어떻게 생각하십니까? 어떤 버전이 가장 적합합니까?

5
user709

솔직히 말해서, 이미 가지고있는 콘텐츠를 실제로 유지하려는 경우 이러한 종류의 간섭은 제 생각에 간단한 확대 및 필드 가시성으로 처리하는 것이 가장 좋습니다.

콘텐츠 유형이 많은 것은 실제로 작동하지 않습니다. 여러 유형에서 가져 오는 것이 "스마트하게 작동"하지 않는 검색 및보기와 같은 다양한 시나리오가 있습니다.

내가 이것을 올바르게 이해하면 CCK는 기본적으로 필드에 대한 테이블을 자동으로 생성한다는 것입니다. 필드를 추가하면 스키마와 테이블에 더 많은 항목이 추가됩니다. 필드를 "제거"하려는 경우 CCK는이 데이터를 스크랩하고 더 이상 존재하지 않습니다.

이 문제를 해결하는 가장 좋은 방법은 새 필드로 하나의 콘텐츠 유형을 주기적으로 늘리고 필드 가시성 모듈로 "이전"필드를 숨기는 것입니다. 당신이 그렇게 생각한다면, 당신이 언급 한대로 프로그래밍 방식으로 그렇게 할 수 있습니다. 이전 데이터는 이러한 방식으로 동일한 유형 (및 테이블)에서 계속 사용할 수 있습니다.

유형의 "버전 관리"출력의 경우 이론적으로는 버전 필드를 유형에 추가 할 수 있지만 필드 (결과적으로 노드 형식)를 주기적으로 변경하는 경우에는 쉽게 출력하십시오. 어떤 경우에도 다양한 뷰와 노드 템플릿을 업데이트해야 할 것입니다. 디스플레이 제품군 모듈은 마지막 작업을 더 쉽게 수행하는 데 도움이 될 수 있습니다.-템플릿에서 손을 더럽 히지 않고 노드 표시 등을 처리하는 UI (자주 업데이트하는 경우 유용합니까?)

http://drupal.org/project/ds

http://grayside.org/field-permissions-plus

4
NikLP

Features 모듈은 코드 버전 제어를위한 이러한 종류의 데이터베이스 콘텐츠를 위해 설계되었습니다. 콘텐츠 유형을 생성하고 기능으로 내보낼 수 있습니다. 이 기능은 다른 소스 코드 (Git, SVN 등 사용)처럼 버전을 제어 할 수 있습니다.

콘텐츠 유형을 복제하려는 경우 Drupal 6의 CCK 모듈에는이를 허용하는 콘텐츠 복사 하위 모듈이 있습니다. In Drupal 7, I 이것이 코어에 내장되어 있는지 확실하지 않습니다. 기능을 사용하여이 작업을 수행 할 것입니다.

5
user732