2010-05-11 2 views
4

hook_form_alter에서 콘텐츠 분류 기준 필드의 기본값을 설정하려고하지만 필요한 형식을 고정 할 수 없습니다. 이 버전과 여러 유사 콘텐츠를 사용해 보았습니다.계층 적 선택 위젯이있는 Drupal의 콘텐츠 분류 체계 필드의 기본값

foreach (element_children($form) as $child) { 
// Set $default_value. 

    if ($form[$child]['tids']) { 
// This, for Content Taxonomy fields, isn't working: 
    $form[$child]['tids']['#default_value'] = array('value' => $default_value); 
    dsm($form[$child]['tids']['#default_value']); 
    } 
    else { 
// This, for other fields, is working: 
    $form[$child][0]['#default_value']['value'] = $default_value; 
    } 
} 

내가 누락 된 부분을 누구 말해 줄 수 있습니까?

편집 : 헨릭 오펠 (관여에 대한 감사)에 대응 , 여기에 주석 기본 필드 내 변경 양식의 관련 분야 중 인쇄가 '#default_value'필드을 보여주는 것입니다 나는 영향력을 행사하려고합니다.

또한 내가 사용하고있는 옵션 위젯이 계층 적 선택임을 보여줍니다 (이것이 요인 일 수 있습니까?). 위 코드의 dsm()에서 기본값 변경 사항은 인식되지만 나중에 처리되지 않습니다.

field_name_of_content_taxonomy_field (Array, 3 elements) 
    #tree (Boolean) TRUE 
    #weight (String, 1 characters) 5 
    tids (Array, 7 elements) 
    #title (String, 10 characters) Vocabulary_name 
    #type (String, 19 characters) hierarchical_select 
    #weight (String, 1 characters) 5 
    #config (Array, 15 elements) 
     // 15 elements here 
    #required (String, 1 characters) 0 
    #description (String, 0 characters) 
    #default_value (Array, 0 elements) 

답변

3

는 대답이 문서에 있었다 밝혀 : http://drupal.org/node/319190

나는 문제가 어디에 있는지 분명히 확인하기 위해 질문을 이름을 변경했습니다. 이렇게하면 질문이 다소 구체적인 유스 케이스로 좁혀 지지만 콘텐츠 분류법과 계층 적 선택은 모두 대형 택 소노 미를 다루기에 유용하고 권장되는 모듈입니다.

1

는 (참고 : 여기 드루팔 6 가정) 지방의 예를 보면

내 컨텐츠 분류 필드는 'TIDS'속성을 가지고 있지 않지만, 난 단지 유형 'optionwidgets_buttons'의 필드를 사용하여, 그래서 다른 위젯 유형을 사용하는 경우에는 다를 수 있습니다. 콘텐츠 분류 표 필드 구조의 덤프를 조작하려는 양식에서 게시 할 수 있습니까?

콘텐츠 분류학 필드에는 나중에 양식/노드 처리에서 표준 택 소노 미 배열 형식으로 '변환'하는 것과 관련된 특수 상호 작용 논리가 있으므로 영향을 줄 수 있습니다. 기본값에 대한 변경 사항이 초기 폼 디스플레이에 전혀 표시되지 않거나 표시되지만 나중에 처리되지 않는 문제가 있습니까?


편집 (질문 업데이트 후) : 죄송합니다 늦게 답장을. 확실하지 않지만 필드 정의를 살펴보면 유형은 hierarchical_select으로 표시되며 '독립형'계층 선택 위젯에 대한 힌트가됩니다. 콘텐츠 분류법과 함께 사용하면 'hs_content_taxonomy'하위 모듈의 코드에서 content_taxonomy_hs 유형을 대신 사용할 수 있습니다. 이것은 모두 추측 일 뿐이며 로컬에서 직접 로컬로 테스트 할 시간이 없지만 올바른 모듈 조합/구성을 사용하고 있는지 확인할 수 있습니다.

또 다른 한가지는 계층 적 선택 모듈과 관련하여 모듈 가중치 설정을 확인하는 것입니다. 또한 야생 추측이지만 계층 적 선택이 마술을 수행하기 전에 변경해야 할 수도 있습니다. 모듈의 조정 된 가중치로 테스트 할 수 있습니다.

+0

후속 조치 주셔서 감사합니다. 문서가 내 혼란을 예견 한 것으로 밝혀졌고, 다른 사람들을 가리 키도록 답변을 추가했습니다. – lazysoundsystem