_taxonomy_term_select

Versions
4.6 – 6
_taxonomy_term_select($title, $name, $value, $vocabulary_id, $description, $multiple, $blank, $exclude = array())

Create a select form element for a given taxonomy vocabulary.

NOTE: This function expects input that has already been sanitized and is safe for display. Callers must properly sanitize the $title and $description arguments to prevent XSS vulnerabilities.

See also

taxonomy_form()

@see taxonomy_form_term()

Parameters

$title The title of the vocabulary. This MUST be sanitized by the caller.

$name Ignored.

$value The currently selected terms from this vocabulary, if any.

$vocabulary_id The vocabulary ID to build the form element for.

$description Help text for the form element. This MUST be sanitized by the caller.

$multiple Boolean to control if the form should use a single or multiple select.

$blank Optional form choice to use when no value has been selected.

$exclude Optional array of term ids to exclude in the selector.

Return value

A FAPI form array to select terms from the given vocabulary.

▾ 2 functions call _taxonomy_term_select()

taxonomy_form in modules/taxonomy/taxonomy.module
Generate a form element for selecting terms from a vocabulary.
taxonomy_form_term in modules/taxonomy/taxonomy.admin.inc
Form function for the term edit form.

Code

modules/taxonomy/taxonomy.module, line 1046

<?php
function _taxonomy_term_select($title, $name, $value, $vocabulary_id, $description, $multiple, $blank, $exclude = array()) {
  $tree = taxonomy_get_tree($vocabulary_id);
  $options = array();

  if ($blank) {
    $options[''] = $blank;
  }
  if ($tree) {
    foreach ($tree as $term) {
      if (!in_array($term->tid, $exclude)) {
        $choice = new stdClass();
        $choice->option = array($term->tid => str_repeat('-', $term->depth) . $term->name);
        $options[] = $choice;
      }
    }
  }

  return array('#type' => 'select',
    '#title' => $title,
    '#default_value' => $value,
    '#options' => $options,
    '#description' => $description,
    '#multiple' => $multiple,
    '#size' => $multiple ? min(9, count($options)) : 0,
    '#weight' => -15,
    '#theme' => 'taxonomy_term_select',
  );
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.