Tôi là một người mới tự xưng là người tạo ra các hình thức trong Drupal. Tôi có một biểu mẫu được lưu trữ trên trang web Drupal 7 (sử dụng mô-đun biểu mẫu web) và cần gửi các giá trị biểu mẫu cho một url bên ngoài. Bây giờ tôi đã nghiên cứu vấn đề này và đã viết một mô-đun tùy chỉnh sử dụng mô-đun biểu mẫu web để gửi bên ngoài bằng hook_form_alter và trình xử lý / chức năng gửi tùy chỉnh (mã được dán bên dưới).
Tôi đã sử dụng các trang sau làm hướng dẫn, nhưng tôi chưa thể làm cho biểu mẫu hoạt động: https://drupal.org/node/1357136 Sử dụng drupal_http_post () để gửi đến trang bên ngoài: Tôi đang làm gì Sai lầm?
Ai đó có thể cho tôi biết nếu tôi đang đi đúng hướng? Bất kỳ hướng dẫn sẽ hữu ích!
<?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'], '', '&'));
}
?>