У меня есть простая одноуровневая лексика. Что-то вроде словарного запаса-> Термин-> Узел. Я хочу знать, есть ли встроенная функция для получения массива узлов, связанных с одним термином, например taxonomy_select_nodes (), но это вернет массив узлов вместо строки.
AFAIK, taxonomy_select_nodes()
является ближайшим доступным – и он не возвращает строку, а ресурс запроса, поэтому вы можете делать то, что хотите, примерно так:
function yourModule_get_nodes_by_term_id($tid) { $nodes = array(); // NOTE: Will lookup by only one term, and only one level deep here! $result = taxonomy_select_nodes(array($tid), 'and', 0, FALSE); $items = array(); while ($row = db_fetch_object($result)) { $nodes[] = node_load($row->nid); } return $nodes; }
Производительность может сильно ухудшиться для большого количества узлов, хотя: /