2010-11-12 19 views
0

Je crée un formulaire personnalisé dans Drupal. Dans ce formulaire, je souhaite créer une boîte de sélection. Dans cette case, je souhaite lister tous les utilisateurs sur le site. Lors de la sauvegarde de mon formulaire, cela remplira un champ CCK qui référence les utilisateurs.Drupal créant une boîte de sélection et la remplissant avec la référence utilisateur

Je sais pour créer la liste de sélection j'utiliser quelque chose comme:

$form['access']['timer'] = array(
    '#type' => 'select', 
    '#title' => t('Discard logs older than'), 
    '#default_value' => variable_get('timer', 259200), 
    '#options' => $period, 
    '#description' => t('The timer.'), 
); 

http://drupal.org/node/751826

Ce que je dois savoir comment je reçois la Corrigez les données pour définir #options.

Répondre

0

Créer le champ de sélection est vraiment la chose la plus facile à faire de ce que vous devez faire. Vous devriez également jeter un coup d'œil à la référence de l'API du formulaire drupal. Il y a un lien vers api.drupal.org.

Quoi qu'il en soit ce que vous voulez est d'afficher le nom d'utilisateur dans le select mais avoir la valeur dans le formulaire soit l'identifiant de l'utilisateur, c'est ce dont CCK a besoin. Pour ce faire, vous devez créer un tableau clé

$options = array(
    $uid => $name, 
    ... 
); 

Pour créer les options dont vous avez besoin pour interroger la table utilisateur à l'aide db_query et ajouter tous les utilisateurs du tableau.