Return both a form and content in a menu callback I have the following code.

function mymodule_menu() {
  $items = array();

  $items['mymodules/page'] = array(
    'title' =&gt; t('my module settings'),
    'description' =&gt; t('change values here'),
    'page callback' =&gt; 'mymodule_page',
    //'page arguments' =&gt; array('mymodule_page'),
    'access arguments' =&gt; array('access administration pages'),
    'type' =&gt; MENU_CALLBACK,
   );

  return $items;
}

function mymodule_page() {
  return drupal_get_form('test_form');
}

function test_form() {
  $form = array();
  $brandarray = array('nokia','siemes');

  $form['mymodule_brand'] = array(
    '#type' =&gt; 'select',
    '#title' =&gt; t('Brand'),
    '#default_value' =&gt; variable_get('mymodule_brand', 'nokia'),
    '#options' =&gt; $brandarray,
    '#description' =&gt; t('Change this.'),
  );

  $form['my_markup'] = array(
  '#markup' =&gt; '&lt;p&gt;Lorem ipsum&lt;/p&gt;',
  );

  return system_settings_form($form);
}


This works perfectly. What I wanted to so is returning a form and page content together, i.e after the page content, in a menu callback function; I tried using the following code:

function mymodule_page() {
  $variable =  drupal_get_form('test_form');
  $variable .= '&lt;div class="newclass"&gt;here&lt;/div&gt;';

  return $variable;
}


But it prints something like the following:


    Array
    here


How do I return both the form and content together in a menu callback?
In Drupal 7 drupal_get_form() returns a render array instead of a string, so you should return a render array as well:

return array(
  'my_content' =&gt; array(
    '#type' =&gt; 'markup',
    '#markup' =&gt; 'Some markup',
  ),
  'my_form' =&gt; drupal_get_form(...),
);