Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

drupal alter node edit form

How can I add a custom configuration area to a node edit form just beneath the Authoring Information & Publishing Options section?

like image 663
sisko Avatar asked Nov 23 '12 12:11

sisko


1 Answers

You can use hook_form_FORM_ID_alter(). Example below:

function my_module_form_node_form_alter(&$form, $form_state) {
  // if you are targeting a specific content type then 
  // you can access the type:
  $type = $form['#node']->type;
  // Then
  if ($type == 'my_content_type') {
  //  use a contact settings for the sake of this example
   $form['contact'] = array(
    '#type' => 'fieldset', 
    '#title' => t('Contact settings'), 
    '#weight' => 100, 
    '#collapsible' => TRUE, 
    '#collapsed' => FALSE,
   );
   // add simple checkbox to the field set
   $form['contact']['approve'] = array(
     '#type' =>'checkbox', 
     '#title' => t('Contact me'),
   );
  } 
}

Now For storing the data I encourage you to see the examples project; it has many code examples with lots of documentation. Also, Check the Form API for more information on different types of form elements. Hope this helps.

like image 106
awm Avatar answered Sep 21 '22 07:09

awm