Domanda

ho creato un modulo che genera un piccolo modulo. Ho fatto anche una funzione che dovrebbe tema la forma, ignorando il tema standard. Ma formare qualche ragione non chiama la funzione theme_. Sto dimenticando qualcosa?

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) {

  $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;
}
È stato utile?

Soluzione

Credo che ti sei dimenticato di implementare hook_theme. Prova ad aggiungere questo:

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

Non dimenticare di aggiornare il registro tema dopo l'aggiunta di questo codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top