Ein Menüpunkt wird drupal_get_form
als Rückruffunktion definiert und das Formular von der Rückruffunktion zurückgegeben. Wie kann ich taxonomy_term_reference
diesem Formular ein Feld hinzufügen ?
$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;
}
Ich bin nicht sicher, wie ich das Feld taxonomy_term_reference für hinzufügen soll $form['mymodule_form']['tag']
. Ich möchte, dass dieses Feld ein Textfeld mit automatischer Vervollständigung aus einem Wortschatz ist und ein neuer Begriff hinzugefügt wird, wenn der eingegebene Begriff nicht gefunden wird
7
taxonomy-terms
forms
Srihitha Narra
quelle
quelle
page
macht am Ende Ihres Codes? Nähte zu meinem wie ungültigen PHP-Code?$submitted_tags = $form_state['values']['tags']; $node->field_tags[LANGUAGE_NONE][0]['value'] = $submitted_tags;
funktioniert bei mir nicht Gibt mir nur Fehler.Sie müssen die Vokabular-ID angeben - Sie sollten sie auch fest codieren können
);
oder für Vokabelnummer 5
Nicht getestet, aber das sollte funktionieren. Sonst haben Sie einen Blick hier: http://drupal.org/node/854216
quelle
Ich habe dies verwendet und Autocomplete-Rückrufe ausgeführt, jedoch nicht für das angegebene Taxonomie-Vokabular. Stattdessen wurden Ergebnisse aus allen Vokabeln zurückgegeben
Ich bin mir nicht ganz sicher, warum das ehrlich ist.
quelle
@tecjam Für Drupal 7 hatten Sie es fast. Sie müssen lediglich den Feldnamen anstelle der Vokabular-ID verwenden.
So was:
Ersetzen Sie Feldname durch den Namen Ihres Feldes.
quelle