Drupal - add a list of choices / options to the form

I'm a little confused. I created a simple form with one text box and a submit button. Now I want to add a select / option popup for taxonomic terms using the taxonomy_get_vocabularies () function.

$vocabularies = taxonomy_get_vocabularies('my_type'); 

My question is how can I get a list of words in the form "Drupal path". The way to define Drupal seems pretty tough. Also, how can I make this condition, say, about the existence of the corresponding taxonomy terms.

 function my_form_name($form_state) { // A Short question. $form['title'] = array( '#type' => 'textfield', '#title' => t('Question'), '#default_value' => $node->title, '#required' => TRUE, '#weight' => 1, '#description' => t('A text box goes here '), ); $form['submit'] = array( '#type' => 'submit', '#value' => t('submit'), '#weight' => 7, ); return $form; 
+6
forms drupal taxonomy
source share
7 answers

I am doing something similar in user form and have found it much easier to use taxonomy_get_tree, with the dictionary code being an argument to the function. See below:

 //get the list of locations from taxonomy to use in the dropdown $dropdown_source = taxonomy_get_tree(2); $dropdown_array = array('0' => '--none--'); foreach ($dropdown_source as $item) { $key = $item->tid; $value = $item->name; $dropdown_array[$key] = $value; } //location filter dropdown $form['filterset']['locationfilter'] = array( '#weight' => '1', '#key_type' => 'associative', '#multiple_toggle' => '1', '#type' => 'select', '#options' => $dropdown_array, '#title' => 'Filter by location', ); unset($dropdown_array); 
+11
source share

I wrote this helper function for my module (drupal 7):

 /** * helper function to get taxonomy term options for select widget * @arguments string $machine_name: taxonomy machine name * @return array of select options for form */ function MYMODULE_get_tax_term_options($machine_name){ $options = array( '0' => ''); $vid = taxonomy_vocabulary_machine_name_load($machine_name)->vid; $options_source = taxonomy_get_tree($vid); foreach($options_source as $item ) { $key = $item->tid; $value = $item->name; $options[$key] = $value; } return $options; } 

Then you can call this function on #options in your $ form:

 $form['field_name'] = array( '#options' => MYMODULE_get_tax_term_options('taxonomy_machine_name'), ); 
+2
source share

this is drupal path - _taxonomy_term_select ()

+1
source share

I think you can use the function: taxonomy_form

Here you have the doumentation: taxonomy_form

+1
source share

Here's how to do it in Drupal 7

 // Populate FAPI select box from vocabulary term values. // In this case term_reference field is field_category $form = array(); $form['category_default'] = array( '#type' => 'select', '#title' => t('Default category'), '#options' => taxonomy_allowed_values(field_info_field('field_category')), '#description' => t('The selected category will be shown by default on listing pages.') ); return $form; 
+1
source share

Learn how to do this in a taxonomy .admin.inc taxonomy module file

 /** * Form builder to list and manage vocabularies. * * @ingroup forms * @see taxonomy_overview_vocabularies_submit() * @see theme_taxonomy_overview_vocabularies() */ function taxonomy_overview_vocabularies() { $vocabularies = taxonomy_get_vocabularies(); $form = array('#tree' => TRUE); foreach ($vocabularies as $vocabulary) { ... 
0
source share

Thank you for your quick response! I think I did it this way.

 $form['limiter'] = array( '#type' => 'select', '#title' => t('Choose a value'), '#id' => 'limiter', '#options' => get_faq_terms(), ); function get_faq_terms() { // get the vid value from vocabulary_node_types file $result = db_query("SELECT * FROM vocabulary_node_types WHERE type = 'my_type' "); $node = db_fetch_object($result) ; $vid = $node->vid ; // get corresponding term names from term_data file $items = array(); $terms = taxonomy_get_tree($vid); foreach ( $terms as $term ) { $count = taxonomy_term_count_nodes($term->tid); if ($count) { $items[$term->tid] = $term->name; } } 
0
source share

All Articles