Saya seorang pemula yang memproklamirkan diri untuk membuat formulir di Drupal. Saya memiliki formulir yang dihosting di situs web Drupal 7 (menggunakan modul webform) dan perlu mengirimkan nilai formulir ke url eksternal. Saya telah meneliti ini untuk sementara waktu sekarang dan menulis modul khusus yang menggunakan modul webform untuk mengirimkan secara eksternal menggunakan hook_form_alter dan menyerahkan kustom fungsi / handler (kode disisipkan di bawah).
Saya telah menggunakan halaman-halaman berikut sebagai panduan, tetapi saya belum bisa mendapatkan formulir untuk berfungsi: https://drupal.org/node/1357136 Menggunakan drupal_http_post () untuk mengirim ke situs eksternal: Apa yang saya lakukan salah?
Bisakah seseorang memberi tahu saya jika saya berada di jalur yang benar? Bimbingan apa pun akan sangat membantu!
<?php
function webform_extra_form_alter(&$form, &$form_state, $form_id)
{
//only want form with nid 1171 to submit externally
//Note that "webform_client_form_1171" means modify the Webform form for the node with NID "1171". Adjust to match whichever webform node's form you're modifying
if($form_id == 'webform_client_form_1171')
{
$form['#action'] = url('https://[url path to external site]');
$form['#attributes'] = array('enctype' => "application/x-www-form-urlencoded");
$form['#submit'][] = 'webform_extra_submit';
}
}
// Adds a submit handler/function for the app signup form (Webform ID #1171)
function webform_extra_submit($form, &$form_state)
{
// Changes can be made to the Webform node settings by modifying this variable
//$form['#node']->webform;
// Insert values into other database table using same input IDs as external db
$option['query'] = array(
$firstName => $form_state['values']['firstName'],
$lastName => $form_state['values']['lastName'],
$email => $form_state['values']['email'],
$name => $form_state['values']['name'],
$phone => $form_state['values']['phone'],
);
$url = url('https://[url path to external site]', $option);
$form_state['redirect'] = $url;
//$form['#action'] = url('https:[url path to external site]');
//$url = 'https://[url path to external site]';
//$headers = array('Content-Type' => 'application/x-www-form-urlencoded',);
//$response = drupal_http_request($url, $headers, 'POST', http_build_query($form_state['values'], '', '&'));
}
?>
Saya telah berusaha mencari cara untuk mengatasi masalah ini dan akhirnya saya menemukan modul Webform Remote Post
Semoga ini menghemat waktu berjam-jam bagi seseorang!
sumber