function drupal_get_form
Returns a renderable form array for a given form ID.
This function should be used instead of drupal_build_form() when $form_state is not needed (i.e., when initially rendering the form) and is often used as a menu callback.
Parameters
$form_id: The unique string identifying the desired form. If a function with that name exists, it is called to build the form array. Modules that need to generate the same form (or very similar forms) using different $form_ids can implement hook_forms(), which maps different $form_id values to the proper form constructor function. Examples may be found in node_forms(), and search_forms(). hook_forms() can also be used to define forms in classes.
...: Any additional arguments are passed on to the functions called by drupal_get_form(), including the unique form constructor function. For example, the node_edit form requires that a node object is passed in here when it is called. These are available to implementations of hook_form_alter() and hook_form_FORM_ID_alter() as the array $form_state['build_info']['args'].
Return value
The form array.
See also
Related topics
50 calls to drupal_get_form()
- authorize.php in ./
authorize.php - Administrative script for running authorized file operations.
- block_admin_display in modules/
block/ block.admin.inc - Menu callback for admin/structure/block.
- book_outline in modules/
book/ book.pages.inc - Menu callback: Shows the outline form for a single node.
- comment_admin in modules/
comment/ comment.admin.inc - Menu callback; present an administrative comment listing.
- comment_confirm_delete_page in modules/
comment/ comment.admin.inc - Page callback for comment deletions.
32 string references to 'drupal_get_form'
- aggregator_menu in modules/
aggregator/ aggregator.module - Implements hook_menu().
- ajax_forms_test_menu in modules/
simpletest/ tests/ ajax_forms_test.module - Implements hook_menu().
- batch_test_menu in modules/
simpletest/ tests/ batch_test.module - Implement hook_menu().
- block_menu in modules/
block/ block.module - Implements hook_menu().
- book_menu in modules/
book/ book.module - Implements hook_menu().
File
-
includes/
form.inc, line 123
Code
function drupal_get_form($form_id) {
$form_state = array();
$args = func_get_args();
// Remove $form_id from the arguments.
array_shift($args);
$form_state['build_info']['args'] = $args;
return drupal_build_form($form_id, $form_state);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.