Submitted by clem9085 on
Bonjour à tous,
Débutant sur Drupal, j'ai créé un module qui affiche les données présentes en base dans une liste de sélection.
Mon problème est le suivant : je n'arrive pas à lui définir une valeur par défaut.
Même en utilisant '#default_value' => ... , rien n'y fait, cela m'affiche toujours la première valeur entrée.
Voici un aperçu de mon code :
function form_civ_content() {
$form['choix_form_civ'] = array(
'#type' => 'select',
'#title' => ('Votre civilité'),
'#options' => array(
'MONSIEUR' => t('Monsieur'),
'MADAME' => t('Madame'),
'MADEMOISELLE' => t('Mademoiselle')
),
'#default_value' => 'MADEMOISELLE'
);
return $form;
}
Quelqu'un aurait une idée de mon erreur ? Merci d'avance
Après plusieurs heures de
Permalien Soumis par clem9085 le 20 Novembre, 2014 - 14:25
Après plusieurs heures de recherche, je viens de trouver la solution.
Voici le code, si cela peut servir à quelqu'un.
function form_civ_menu()
{
$items = array();
$items['form_civ'] = array(
'title' => 'Civilités',
'page callback' => 'drupal_get_form',
'page arguments' => array('form_civ_form'),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK
);
return $items;
}
function form_civ_form($node, &$form_state)
{
$form = array();
$values = !empty($form_state['values']) ? $form_state['values'] : array();
$form['choix_form_civ'] = array(
'#type' => 'select',
'#title' => 'Votre civilité',
'#options' => array(
'MONSIEUR' => 'Monsieur',
'MADAME' => 'Madame',
'MADEMOISELLE' => 'Mademoiselle'
),
'#default_value'=> !empty($values['choix_form_civ']) ? $values['choix_form_civ'] : 'MADEMOISELLE'
);
return $form;
}