| Versionen | |
|---|---|
| drupal6 | taxonomy_vocabulary_load($vid, |
| drupal7 | taxonomy_vocabulary_load($vid) |
Return the vocabulary object matching a vocabulary ID.
$vid The vocabulary's ID
$reset Whether to reset the internal taxonomy_vocabulary_load cache.
The vocabulary object with all of its metadata, if exists, FALSE otherwise. Results are statically cached.
modules/
<?php
function taxonomy_vocabulary_load($vid, $reset = FALSE) {
static $vocabularies = array();
if ($reset) {
$vocabularies = array();
}
if (!isset($vocabularies[$vid])) {
// Initialize so if this vocabulary does not exist, we have
// that cached, and we will not try to load this later.
$vocabularies[$vid] = FALSE;
// Try to load the data and fill up the object.
$result = db_query('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE v.vid = %d', $vid);
$node_types = array();
while ($voc = db_fetch_object($result)) {
if (!empty($voc->type)) {
$node_types[$voc->type] = $voc->type;
}
unset($voc->type);
$voc->nodes = $node_types;
$vocabularies[$vid] = $voc;
}
}
// Return FALSE if this vocabulary does not exist.
return !empty($vocabularies[$vid]) ? $vocabularies[$vid] : FALSE;
}
?>
Kommentare
Kommentar hinzufügen