Element menu jest definiowany drupal_get_form
jako funkcja oddzwaniania i powrót formularza z funkcji oddzwaniania. Jak mogę dodać taxonomy_term_reference
pole do tego formularza?
$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;
}
Nie jestem pewien, jak dodać pole dla taksonomii_term_referencji $form['mymodule_form']['tag']
. Chcę, aby to pole było polem tekstowym z autouzupełnianiem z terminów słownictwa i dodawanym nowym terminem, gdy wprowadzony termin nie zostanie znaleziony
7
taxonomy-terms
forms
Srihitha Narra
źródło
źródło
page
robi na końcu twojego kodu? szwy do mojego jak nieprawidłowy kod php?$submitted_tags = $form_state['values']['tags']; $node->field_tags[LANGUAGE_NONE][0]['value'] = $submitted_tags;
nie działa dla mnie Daje mi tylko błędy.Musisz dołączyć identyfikator słownictwa - powinieneś być w stanie go też zakodować na stałe
);
lub dla vocab id 5
Nie testowane, ale to powinno działać. W przeciwnym razie mamy tutaj podglądacza: http://drupal.org/node/854216
źródło
Użyłem tego i dostałem oddzwaniające autouzupełnianie działające, jednak nie dla określonego słownika systematyki. Zamiast tego zwrócił wyniki ze wszystkich słowników
Nie jestem do końca pewien, dlaczego tak jest.
źródło
@ tecjam W przypadku Drupala 7 prawie go miałeś. Wszystko, co musisz zrobić, to użyć nazwy pola zamiast identyfikatora słownika.
Lubię to:
Zastąp nazwę_pola nazwą swojego pola.
źródło