Un elemento de menú se define con la drupal_get_form
función de devolución de llamada y devuelve el formulario desde la función de devolución de llamada. ¿Cómo puedo agregar un taxonomy_term_reference
campo a este formulario?
$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;
}
No estoy seguro de cómo agregar el campo taxonomy_term_reference para $form['mymodule_form']['tag']
. Quiero que este campo sea un campo de texto con autocompletar a partir de términos de vocabulario y que se agregue un nuevo término cuando no se encuentre el término ingresado
7
taxonomy-terms
forms
Srihitha Narra
fuente
fuente
page
haciendo al final de su código? parece a mi código php no válido?$submitted_tags = $form_state['values']['tags']; $node->field_tags[LANGUAGE_NONE][0]['value'] = $submitted_tags;
no funciona para mi Solo me da errores.Debes incluir el id. De vocabulario; deberías poder codificarlo para que
);
o para vocab id 5
No probado, pero eso debería funcionar. De lo contrario, eche un vistazo aquí: http://drupal.org/node/854216
fuente
Utilicé esto y obtuve devoluciones de llamada de autocompletar, sin embargo, no para el vocabulario de taxonomía especificado. En cambio, arrojó resultados de todos los vocabulario
No estoy muy seguro de por qué eso es ser honesto.
fuente
@tecjam Para Drupal 7, casi lo tienes. Todo lo que tiene que hacer es usar el nombre del campo en lugar de la identificación del vocabulario.
Me gusta esto:
Reemplace field_name con el nombre de su campo.
fuente