Inserting a form into a block in Drupal?

coderama picture coderama · Sep 20, 2009 · Viewed 25.6k times · Source

Is there any command or method that I can use to insert the contents of a form (e.g. the user registration form) into a block?

Answer

chiborg picture chiborg · Mar 11, 2011

In Drupal 7, it looks like this:

function yourmodule_block_view($delta='')
{
  switch($delta) {
    case 'your_block_name':
      $block['subject'] = null; // Most forms don't have a subject 
      $block['content'] = drupal_get_form('yourmodule_form_function');
      break;
   }
   return $block;
 }

The form array returned by drupal_get_form will be automatically rendered.

yourmodule_form_function is a function (in your module or an existing Drupal module) that returns the form array;