Answers:
在Drupal 6中,如果您知道分类术语ID,则可以使用以下代码获取词汇ID:
$term = taxonomy_get_term($tid);
$vid = $term->vid;
如果您具有节点ID,那么可以使用以下代码使用以下代码来获取与该节点关联的所有分类法术语的词汇表ID:
$node = node_load($nid);
$vids = array();
if (!empty($node->taxonomy)) {
foreach ($node->taxonomy as $tid => $term) {
$vids[] = $term->vid;
}
}
在Drupal 7中,代码如下:
$term = taxonomy_term_load($tid);
$vid = $term->vid;
在Drupal 7中,node属性$node->taxonomy
不再存在。而是有$node->field_<vocabulary_name>
一个具有两个不同结构的数组。
标签
其他分类术语
使用field_get_items(),您将以将要显示的分类法术语或将其代码作为参数传递给函数的语言获得分类法术语。
$items = field_get_items('node', $node, $field_name);
$node
包含节点对象,以及$field_name
分类术语字段的名称。
$items
与中包含的数组相比,包含一个简化的数组$node->field_<vocabulary_name>
。
对于Drupal 7,以上代码应如下所示:
$tid = 18;
$vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
array(':tid' => $tid)
)->fetchField();
echo $vid;
请参阅db_query() drupal 7函数的更多示例。