1. drupal
    1. 4.7
    2. 5
    3. 6
    4. 7 node.api.php
Versions
4.7 hook_form(&$node)
5 hook_form(&$node, $form_values)
6 hook_form(&$node, $form_state)
7 hook_form($node, &$form_state)

Display a node editing form.

This hook, implemented by node modules, is called to retrieve the form that is displayed when one attempts to "create/edit" an item. This form is displayed at the URI http://www.example.com/?q=node/<add|edit>/nodetype.

Parameters

&$node The node being added or edited.

$form_values The form values array.

Return value

An array containing the form elements to be displayed in the node edit form.

The submit and preview buttons, taxonomy controls, and administrative accoutrements are displayed automatically by node.module. This hook needs to return the node title, the body text area, and fields specific to the node type.

For a detailed usage example, see node_example.module.

Related topics

Code

developer/hooks/node.php, line 251

<?php
function hook_form(&$node, $form_values) {
  $type = node_get_types('type', $node);

  $form['title'] = array(
    '#type' => 'textfield', 
    '#title' => check_plain($type->title_label), 
    '#required' => TRUE,
  );
  $form['body'] = array(
    '#type' => 'textarea', 
    '#title' => check_plain($type->body_label), 
    '#rows' => 20, 
    '#required' => TRUE,
  );
  $form['field1'] = array(
    '#type' => 'textfield', 
    '#title' => t('Custom field'), 
    '#default_value' => $node->field1, 
    '#maxlength' => 127,
  );
  $form['selectbox'] = array(
    '#type' => 'select', 
    '#title' => t('Select box'), 
    '#default_value' => $node->selectbox, 
    '#options' => array(
      1 => 'Option A', 
      2 => 'Option B', 
      3 => 'Option C',
    ), 
    '#description' => t('Please choose an option.'),
  );

  return $form;
}
?>