Un élément de menu est défini avec drupal_get_form
comme fonction de rappel et renvoyant le formulaire à partir de la fonction de rappel. Comment puis-je ajouter un taxonomy_term_reference
champ à ce formulaire?
$items['files/add'] = array(
'title' => 'Add file',
'description' => 'Allows users to add files',
'type' => MENU_CALLBACK,
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_add_file'),
'access callback' => TRUE,
);
function mymodule_add_file($form, &$form_state) {
drupal_set_title("Add file");
$form['mymodule_form'] = array(
'#type' => 'fieldset',
'#tree' => TRUE,
'#collapsable' => FALSE,
'#title' => 'Adding file to locker room',
);
$form['mymodule_form']['file'] = array(
'#type' => 'managed_file',
'#title' => 'Upload file',
);
$form['mymodule_form']['tag'] = array(
'#type' => 'taxonomy_term_reference',
'#title' => 'Tags',
);
return $form;
}
Je ne sais pas comment ajouter le champ taxonomy_term_reference pour $form['mymodule_form']['tag']
. Je veux que ce champ soit un champ de texte avec saisie automatique à partir d'un vocabulaire et qu'un nouveau terme soit ajouté lorsque le terme saisi n'est pas trouvé
7
taxonomy-terms
forms
Srihitha Narra
la source
la source
page
fait-on à la fin de votre code? coutures à mon code php invalide comme?$submitted_tags = $form_state['values']['tags']; $node->field_tags[LANGUAGE_NONE][0]['value'] = $submitted_tags;
ne fonctionne pas pour moi. Me donne juste des erreurs.Vous devez inclure l'ID de vocabulaire - vous devriez pouvoir le coder en dur afin
);
ou pour le vocabulaire 5
Non testé, mais cela devrait fonctionner. Sinon, jetez un œil ici: http://drupal.org/node/854216
la source
J'ai utilisé cela et j'ai obtenu des rappels de saisie semi-automatique qui fonctionnaient, mais pas pour le vocabulaire de taxonomie spécifié. Au lieu de cela, il a renvoyé les résultats de tous les vocabulaires
Je ne sais pas trop pourquoi c'est pour être honnête.
la source
@tecjam Pour Drupal 7, vous l'avez presque eu. Tout ce que vous avez à faire est d'utiliser le nom du champ au lieu de l'ID de vocabulaire.
Comme ça:
Remplacez field_name par le nom de votre champ.
la source