Only the word "array" gets printed when I try to render custom block in template I am building a custom block in a module, like this:

&lt;?php

function filterblock_block_info() {
  // Sökfilter till temperaturöversikten.
  $blocks = array();

  $blocks['filterblock-temperatur'] = array(
    'info' =&gt; t('Temperatursökfilter'),
  );

  return $blocks;
}

function filterblock_block_view($delta = '') {
  $block = array();
  switch ($delta) {
    case 'filterblock-temperatur':
      $block['subject'] = t('');
      $block['content'] = filterblock_block_content();
      break;
  }
  return $block;
}

function filterblock_block_content(){
    return drupal_get_form('temperaturfilter');
}

function temperaturfilter($form, &amp;$form_state)
{
    $form = array();

    $form['alla'] = array(
        '#type'         =&gt; 'textfield',
        '#title'        =&gt; t("Alla"),
        '#weight'       =&gt; 10,
        '#required'     =&gt; false,
    );
    $form['IR'] = array(
        '#type'         =&gt; 'textfield',
        '#title'        =&gt; t("IR"),
        '#weight'       =&gt; 11,
        '#required'     =&gt; false,
    );

    $form['hightemp'] = array(
        '#type'         =&gt; 'textfield',
        '#title'        =&gt; t("&gt; +500 °C"),
        '#weight'       =&gt; 12,
        '#required'     =&gt; false,
    );
    $form['lowtemp'] = array(
        '#type'         =&gt; 'textfield',
        '#title'        =&gt; t("&lt; -50 °C"),
        '#weight'       =&gt; 13,
        '#required'     =&gt; false,
    );

    return $form;
}


In my template file I have this:

   &lt;?php $block = module_invoke('filterblock', 'block_view', 'filterblock-temperatur'); ?&gt;
   &lt;?php  if ($block['content']) {
     $output = "&lt;div class=\"filter-block\"&gt;\n";
     $output .= "&lt;div class=\"content\"&gt;".$block['content']."&lt;/div&gt;\n";
     $output .= "&lt;/div&gt;\n";
     print $output;


But the only thing that is rendered on the page is the word "array". I have checked with var_dump in the block module that $block['content'] actually contains the fields from the function temperaturfilter. I have tried to use print render($output) in stead of just print, but with no luck.

What am I doing wrong?
You haven’t rendered the render array:

$output .= "&lt;div class=\"content\"&gt;".render($block['content'])."&lt;/div&gt;\n";