Revision: 23996
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 18, 2010 09:19 by berkes
Initial Code
/**
* Implementation of hook_form_alter().
*/
function simple_checkout_form_alter($form_id, &$form) {
switch($form_id) {
case 'ideal_payment_api_issuer_form':
// Add a submit handler.
// NOTE: we do not override the #submit array, but ADD our own to the array. That way we do not break existing submit-handlers!
$form['#submit']['simple_checkout_order_submit'] = array();
// Add a validate handler.
$form['#validate']['simple_checkout_order_validate'] = array();
break;
}
}
// ... A lot of code ...
/**
* Fapi callback added in form_alter: validates the orders to our orders table.
*
* @param $form_id
* Description of param $form_id
* @param $form_values
* Description of param $form_values
*
* @return
* Nothing.
*/
function simple_checkout_order_validate($form_id, &$form_values) {
// @TODO: prepare $order and insert into our DB table.
}
/**
* Fapi callback added in form_alter: submits the orders to our orders table.
*
* @param $form_id
* Description of param $form_id
* @param $form_values
* Description of param $form_values
*
* @return
* Nothing.
*/
function simple_checkout_order_submit($form_id, &$form_values) {
// @TODO: prepare $order and insert into our DB table.
}
Initial URL
http://wizzlern.nl
Initial Description
By using hook_form_alter, you can add your own callback functions to any Drupal form. These functions will be called when Drupal validates the form and when Drupal submits it. In example below, a module called 'simple_checkout' adds its own handlers to a form called 'ideal_payment_api_issuer_form'. That latter is generated by another module, but we can fill our own tables and run our own validation *in addition to those by the originating module*.
Initial Title
Howto run your own functions on any forms submission.
Initial Tags
forms, drupal, api
Initial Language
PHP