2012-05-18 2 views
0

사용자가 주어진 콘텐츠에 필요한 필드만으로 양식을 채울 수있는 방법을 찾으려고합니다.사용자가 Drupal의 노드에 필드와 값을 동적으로 추가 할 수있게하십시오.

예를 들어 "Research Project"라는 콘텐츠 유형이 있으며 각 유형에 일련의 측정 값을 추가하고 싶습니다.

예 : Proj를 1 : 물 샘플링

치수 : 수집 물 갤런 - 20 갤런

주위 온도 컬렉션시 -

PPM 리드 물에서 발견되는 75 ℃, F - 2 PPM

측정 기준은 시스템에 미리 입력되며 드롭 다운에서 선택합니다. 나는 UI가 양식과 같을 것이다 상상 : 무제한 새로운 측정 값 행

측정이 프로젝트에서 프로젝트 가변적를 추가 할 값 + 링크를 입력하는 드롭 다운 메뉴에서

선택 측정> 필드,있다 많은 것들이 있으며 항상 새로운 것들이 추가되어 모든 잠재적 측정을 자신의 CCK 필드로 추가하는 것은 비실용적입니다. 또한 각 프로젝트의 콘텐츠 유형을 실용화하기에는 너무 많은 유형의 프로젝트가 있습니다. 그래서 본질적으로 양식을 작성하고 결과를 즉시 채울 수있는 능력을 찾고 있습니다. 어떻게해야합니까? 분류 기준으로 측정 값을 입력 할 수는 있지만 각 값을 어떻게 할당하고 저장할 수 있습니까?

답변

0

두 함수

field_create_field() 생성 할 수 입력란 A 자체가있다.

field_create_instance() - 필드를 번들에 바인드합니다. 예 from this post :

$field = array(
    'field_name' => 'field_' . $vocabulary->machine_name, 
    'type' => 'taxonomy_term_reference', 
    'cardinality' => FIELD_CARDINALITY_UNLIMITED, 
    'settings' => array(
     'allowed_values' => array(
     array(
      'vocabulary' => $vocabulary->machine_name, 
      'parent' => 0, 
     ), 
    ), 
    ), 
); 
    field_create_field($field); 

    $instance = array(
    'field_name' => 'field_' . $vocabulary->machine_name, 
    'entity_type' => 'node', 
    'label' => 'Tags', 
    'bundle' => 'article', 
    'description' => $vocabulary->help, 
    'widget' => array(
     'type' => 'taxonomy_autocomplete', 
     'weight' => -4, 
    ), 
    'display' => array(
     'default' => array(
     'type' => 'taxonomy_term_reference_link', 
     'weight' => 10, 
    ), 
     'teaser' => array(
     'type' => 'taxonomy_term_reference_link', 
     'weight' => 10, 
    ), 
    ), 
); 
    field_create_instance($instance); 
관련 문제