如何获取节点的术语列表(按节点ID)属于特定词汇表。有任何drupal功能吗?
答案 0 :(得分:2)
taxonomy_node_get_terms function。
http://api.drupal.org/api/function/taxonomy_node_get_terms/6
或者:
taxonomy_node_get_terms_by_vocabulary
http://api.drupal.org/api/function/taxonomy_node_get_terms_by_vocabulary/6
答案 1 :(得分:2)
我知道有获取词汇表列表的API但我不确定,词汇表的gettign列表中存在一个api。
但是,您可以尝试此功能。它会起作用。
function myutils_get_terms_by_vocabulary($vname, $tname = "") {
$sql = "select td.*
from term_data td
inner join vocabulary v on td.vid = v.vid
where v.name = '%s'";
if($tname) {
$result = db_query($sql . " and td.name = '%s'", $vname, $tname);
return db_fetch_object($result);
} else {
$result = db_query($sql, $vname);
}
$terms = array();
while ($term = db_fetch_object($result)) {
$terms[$term->tid] = strtolower($term->name);
}
return $terms;
}
基本上我为这些常用功能创建了一个'myutils'模块,并在那里添加了这个功能。所以我可以在所有类似的场景中使用它们。