Printing a form inside a block I have a specific block that has some form logic, intended for newly registered users. And I am a bit lost on what the logic would look like to render the contents for the form inside a hook_block_view. I've tried using a theme_form() call to get errors, mostly string offset and fatal errors from type comparison. I've tried using drupal_get_form, with the same results.

Here's the code below. Thoughts?

/**
 * Implements hook_block_info
 */
function example_module_block_info() {
  $block['item_select'] = array(
    'info' =&gt; t('Select Item'),
    'cache' =&gt; DRUPAL_CACHE_PER_ROLE,
  );

  return $block;
}

/**
 * Implements hook_block_view()
 */
function example_module_block_view($delta = '') {
  $block = array();

  switch ($delta) {
    case "item_select":
      $block['subject'] = t("Select a book");
      $block['content'] = theme_form('example_module_form_select_item_form');
      break;
  }

  return $block;
}

/**
 * Implements an example form
 */
function example_module_form_select_item_form($form, $form_state) {
  $form['item_type'] = array(
    "#type" =&gt; 'select',
    "#title" =&gt; t("Make a selection"),
    "options" =&gt; array(
      "1" =&gt; t("This"),
      "2" =&gt; t("That"),
      "3" =&gt; t("The Other"),
      "4" =&gt; t("Banana")
    ),
  );

  $form["submit"] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; t("Save Selection"),
  );

  return $form;
}
Try making a function using hook_form() and calling it in your $block['content'] property?

$block['content'] = example_module_form($node);