2014-02-07 4 views
1

URL이 http://mywebsite.org/param/ajax?ID=2 인 함수를 호출합니다.이 함수는 내 사용자 정의 모듈의 correspondponfin 콜백 함수에서 다음 함수를 사용하는 html 형식을 반환합니다.Drupal Ctools 모달 처리

이 출력을 사용하여 트위터 부트 스트랩 모달 내에 양식을 만듭니다. 문제는 내가 처리 할 수없는 아약스 출력을 다시 제출할 때입니다. form_submit 함수를 기반으로 성공 메시지 또는 실패를 표시하고 싶습니다. 모달을 사용하여 출력을 표시 할 수있는 방법이 있거나 모달이라고하는 원본 페이지에 표시 할 수있는 방법이 있습니까? 모달를 ctools하는

답변

0

호출은 다음과 같아야합니다

$output = ctools_modal_form_wrapper($form_name, $form_state); 
    if(!empty($form_state['executed'])) { 
    $output = array(); 
    $output[] = ctools_modal_command_display(t('Successful message title'), 'Successful message body'); 
    $output[] = ctools_ajax_command_reload(); 
    } 
    print ajax_render($output); 
    exit; 

$form_state['executed']을 확인하는 것을 잊지 마십시오.

또한 ctools_ajax_command_reload()을 사용하면 모달 콘텐츠가 다시로드되어 다른 ajax 출력으로 문제를 해결해야합니다.

0

위로 올리기 sirBlond하지만 내 평판은 아직 없습니다. 성공적인 양식 제출시 모달 창이 IE8에서 닫히지 않은 경우이 방법을 사용했습니다. 내 리디렉션 전에이 권한을 추가해야했습니다.

$commands[] = ctools_ajax_command_reload()  
$commands[] = ctools_ajax_command_redirect($path, 0, $options); 

정확히 내가 필요한 것입니다. 감사.

+0

upvote를 할 수없는 경우에도 여전히 확인 표시를 클릭하고 대답을 수락 할 수 있습니다. – UtopiaLtd