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',
),
가 표시되어야합니다
안녕하십니까. 오류 메시지는 어떻게 생깁니 까? 지금까지 뭐 해봤 어? –
안녕하십니까 도와 주셔서 감사합니다. 나는 다음과 같은 오류 메시지가있다 : 오류 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