it-swarm-ko.tech

CCK를 사용하여 자체 콘텐츠 유형을 제공하는 모듈을 작성하는 방법은 무엇입니까?

자체 콘텐츠 유형을 제공하는 모듈을 작성해야합니다. drupal-documentation에는 이에 대한 가이드가 있습니다. 하지만 모듈 내부의 CRUD 로직을 처리해야합니다. CCK를 사용하여 hook_install(); 내부의 필드가있는 새 콘텐츠 유형을 만들 수 있다고 생각했습니다. 하지만 그 방법에 대한 가이드를 찾을 수 없었습니다.

누구든지 간단한 예를 들어 주거나 ​​괜찮은 가이드에 대한 링크를 제공 할 수 있습니까? 그것은 굉장 할 것입니다.

4
Nils Riedemann

CCK에는 "Content Copy"라는 모듈이 포함되어 있습니다. 이를 활성화하면 각 콘텐츠 유형의 편집 섹션에 내보내기 탭이 제공됩니다. 이 탭은 모듈 내의 파일에 복사 할 수있는 코드를 제공합니다. 해당 파일을 /cck/[type-name].cck에 저장하고 $ type_name 및 $ module_name에 대한 값을 설정하면 hook_install ()에서이 코드를 사용하여 콘텐츠 유형을 추가 할 수 있습니다.

  $path = $_SERVER['DOCUMENT_ROOT'] . base_path() . drupal_get_path('module', $module_name) . '/cck/' . $type_name . '.cck';
  $content_type = file_get_contents($path);

  $form_state = array();
  $form = content_copy_import_form($form_state, $type_name);

  $form_state['values']['type_name'] = '<create>';
  $form_state['values']['macro'] = $content_type;
  $form_state['values']['op'] = t('Import');

  content_copy_import_form_submit($form, $form_state);
4
Scott Reynen

자신 만의 콘텐츠 유형을 만드는 것이 목표이지만 CRUD의 번거 로움을 처리하고 싶지 않은 경우 features 를 사용할 수 있습니다. 이와 같은 작업을 수행하도록 설계되었습니다.

CCK는 실제로 노드 모듈 (Drupal 코어)의 일부인 새로운 콘텐츠 유형 생성을 처리하지 않습니다. 인터페이스를 통해 수행 한 것처럼 노드를 추가하고 기능을 사용하지 않으려면 hook_node_info :

/**
 * Implementation of hook_node_info().
 */
function module_node_info() {
  $items = array(
    'activity' => array(
      'name' => t('Name'),
      'module' => 'node',
      'description' => t('Description.'),
      'has_title' => '1',
      'title_label' => t('Title'),
      'has_body' => '1',
      'body_label' => t('Body'),
      'min_Word_count' => '0',
      'help' => '',
    ),
  );
  return $items;
}

노드를 노드 유형의 소유자로 설정하면 CRUD 등을 처리 할 수 ​​있습니다.

5
googletorp

사용자 지정 CCK 필드 만들기 는 사용자 지정 CCK 필드, 위젯 및 포맷터를 만드는 방법을 이해하는 데 유용합니다. 예제 코드는 시작하기에 충분해야합니다.
콘텐츠 구성 키트 란 무엇입니까? 데이터베이스에서보기 는 Drupal 5의 CCK에 대한 소개이지만 Drupal 6에는 여전히 유효합니다.
CCK 에 대한 사용자 정의 복합 필드 만들기는 두 개 이상의 양식 필드를 사용하는 CCK 필드를 만드는 방법을 설명하는 또 다른 흥미로운 기사입니다. 그 입력.
Drupal에서 프로그래밍 방식으로 CCK 필드 만들기 6 에서는 코드에서 필드를 만드는 방법을 설명합니다 (예 : 설치 코드). 콘텐츠 유형에 대한 특정 필드를 추가해야하는 모듈의.

4
kiamlaluno

가장 좋은 참조는 예제 모듈을 살펴 보는 것입니다.

2
markie