Um item de menu é definido drupal_get_form
como função de retorno de chamada e retornando o formulário da função de retorno de chamada. Como posso adicionar um taxonomy_term_reference
campo a este formulário?
$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;
}
Não sei como adicionar o campo taxonomy_term_reference $form['mymodule_form']['tag']
. Desejo que este campo seja um campo de texto com preenchimento automático de termos de vocabulário e que seja adicionado um novo termo quando o termo digitado não for encontrado
7
taxonomy-terms
forms
Srihitha Narra
fonte
fonte
page
fazendo no final do seu código? costuras para o meu código php como inválido?$submitted_tags = $form_state['values']['tags']; $node->field_tags[LANGUAGE_NONE][0]['value'] = $submitted_tags;
não funciona para mim. Apenas me dá erros.Você precisa incluir o ID do vocabulário - deve poder codificá-lo para que
);
ou para id 5 do vocabulário
Não testado, mas isso deve funcionar. Caso contrário, dê uma olhada aqui: http://drupal.org/node/854216
fonte
Eu usei isso e obtive retornos de chamada de preenchimento automático funcionando, mas não para o vocabulário de taxonomia especificado. Em vez disso, retornou resultados de todos os vocabs
Não sei ao certo por que isso é para ser honesto.
fonte
@tecjam Para o Drupal 7, você quase conseguiu. Tudo o que você precisa fazer é usar o nome do campo em vez do ID do vocabulário.
Como isso:
Substitua field_name pelo nome do seu campo.
fonte