开发者

drupal form override theme function

开发者 https://www.devze.com 2022-12-20 12:15 出处:网络
i created a module that generates a small form. I also made a function that should theme the form, overriding the standard theme.

i created a module that generates a small form. I also made a function that should theme the form, overriding the standard theme. But form some reason it doesn't call the theme_ function. Am i forgetting something?

function mailinglist_menu() {

  $items['mailinglist'] = array(
    'title' => t('Beheer mailinglist'),
    'page callback' => 'mailinglist_overzicht',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK,
  );

  return $items;
}

function mailinglist_overzicht() {

  return drupal_get_form('mailinglist_form');

}

function mailinglist_form($form_state) 开发者_JAVA百科{

  $form['to'] = array(
    '#type' => 'fieldset', 
    '#title' => t('Aan'), 
    '#tree' => TRUE,
  );
  $form['to']['functies'] = array(
    '#type' => 'checkboxes', 
    '#title' => t('Functies'),
    '#options' => mailinglist_getFuncties(),
    '#description' => t('Selecteer de functies die je wilt mailen.'),
  );

  return $form;
}

function theme_mailinglist_form($form) {
    $output .= '<div class="foo" style="background-color: #000;">sdfsdfsdfdfs';
    $output = drupal_render($form['to']['functies']);
    $output .= '<div class="bar">';
    $output .= '</div></div>';
    $output .= drupal_render($form);

  return $output;
}


I think you forgot to implement hook_theme. Try adding this:

function mailinglist_theme() {
  return array(
    'mailinglist_form' => array(
      'arguments' => array('form' => NULL),
    ),
  );
}

Don't forget to refresh your theme registry after adding this code.

0

精彩评论

暂无评论...
验证码 换一张
取 消