2016-08-24 1 views
0

나는 differents 양식으로 모듈을 만들고 있습니다. 나는 ctools를 사용하는 모달 형식 인 양식을 가지고 있습니다. 이 모달 형식 중 하나에서 브라우저의 새 탭에서 PDF를 열 수있는 단추를 만들었지 만 작동하지 않습니다. AJAX 오류가 있습니다. 폼이 모달 형태로 일반적으로하지 나타나기 때문에Drupal 7의 ctools 모달 폼에서 브라우저의 새 탭을 여는 방법은 무엇입니까?

난 내 브라우저에서 노드의 경로를 넣어
function liste_apprenant_partenaire($js){ 
if ($js) { 
    ctools_include('ajax'); 
    ctools_include('modal'); 
    ctools_add_js('ajax-responder'); 

    $form_state = array(
      'ajax' => TRUE,    
    ); 

    $output = ctools_modal_form_wrapper('liste_apprenant_partenaire_form', $form_state); 

    if (!empty($form_state['ajax_commands'])) { 
      $output = $form_state['ajax_commands']; 
    } 

    print ajax_render($output); 
    drupal_exit(); 
} 
else { 
    return drupal_get_form('liste_apprenant_partenaire_form'); 
} 
} 

function liste_apprenant_partenaire_form($form, &$form_state){ 


$form['pv-button'] = array(
     '#id' => 'pv-button', 
     '#type' => 'submit', 
     '#value' => 'PV', 
     '#submit'=>array('pv_apprenant_partenaire_button_form_submit'), 
     '#attributes' => array('onclick' => 'target="_blank";return true;'), 
); 

return $form; 
} 


function pv_apprenant_partenaire_button_form_submit(&$form, &$form_state){ 
require_once("sites/all/modules/print/lib/dompdf/autoload.inc.php"); 

$node_session=node_load($_SESSION['nid_session']); 

$type_formation=$node_session->field_type[LANGUAGE_NONE][0]['value']; 

$test=file_get_contents('sites/all/modules/multi_example/test.html'); 
$test=str_replace('+type_formation',"$type_formation",$test); 

$dompdf = new Dompdf(); 
$dompdf->loadHtml($test); 

$dompdf->render(); 

$dompdf->stream('my.pdf',array('Attachment'=>0)); 

} 

, 그것은 잘 작동 것 : 이 내 코드입니다. 그러나 모달 형식을 사용하여 동일한 결과를 연구합니다. 그래서 AJAX에 문제가 있다고 생각하지만 실제 솔루션을 찾지 못했습니다. 당신이 버튼과 같은이 링크 모양을 필요로하는 경우

$form['my_module_custom_link'] = array(
    '#type' => 'link', 
    '#title' => 'PDF', 
    '#href' => "/my/hello", 
    '#attributes' => array(
    'target' => '_blank', 
), 

가 표시되어야합니다

+0

안녕하십니까. 오류 메시지는 어떻게 생깁니 까? 지금까지 뭐 해봤 어? –

+0

안녕하십니까 도와 주셔서 감사합니다. 나는 다음과 같은 오류 메시지가있다 : 오류 HTTP AJAX, HTTP 상태 코드 : 200, StatusText : Ok, ReponseText : % PDF-1.3, 1 0 obj .... 나는 pdf의 내용을 내가 appaers에서 만든 오류라고 생각한다. 메시지. 그리고 내 디렉토리에 js 파일을 만들어서 '#attributes'=> array ('onclick'=> 'target = "_ blank"; -button ']을'$ (this) .attr ('target ','_ blank ');'하지만 그것은 작동하지 않는다. 오류 메시지는 없지만 아무 것도하지 않습니다. – DimS

답변

0

은 양식에 버튼으로이 같은 사용이 스타일을 지정할 수 있습니다 다음 사용 형태 항목 유형 링크를 제출 버튼 타입을 사용하지 않는 양식 안의 링크를 클릭하여 스타일을 지정하십시오.

관련 문제