2014-02-28 3 views
0

다중 단계 like this, 의 ctools 모달 양식을 작성했으며 ctools 모달 노드 양식 like this을 작성했습니다.drupal ctools 다중 단계 노드 양식

쿨! 하지만 지금은 ctools 다중 단계 모달 노드 양식이 필요합니다. 예, Form API를 통해 모든 필드를 렌더링하고 모든 유효성 확인 & 사용자 정의 위젯을 처리 한 다음 내 자신의 제출 처리기를 작성할 수 있습니다. 그러나 노드 양식이 이미 저에게 그렇게했을 때 귀찮은 이유는 무엇입니까?

도움을 주시면 감사하겠습니다.

답변

0

알아 냈습니다. 트릭은 노드를 $ form_state에 인수로로드하는 것이 었습니다. 그런 다음 폼을 렌더링 할 수있는 몇 가지 방법이 있습니다 (아래 참조). 이 원하는에 대한

ctools_include('node.pages', 'node', ''); 
$form_state['build_info']['args'] = array($node); 
$output = ctools_modal_form_wrapper('my_content_type_node_form', $form_state); 
print ajax_render($output); 

ctools_include('node.pages', 'node', ''); 
$form_state['build_info']['args'] = array($node); 
$form = drupal_retrieve_form('my_content_type_node_form', &$form_state); 
print ajax_render($output); 

내 이유는 & 검증 노드의 형태가 이미 보유하고있는 모든 제출 처리기를-포함 다시하는 것을 피하기했다. 그러나 아약스로 인해 양식에 파일을 업로드 한 경우 다음이 필요합니다.

form_load_include($form_state, 'inc', 'node', 'node.pages'); 
관련 문제