代码之家  ›  专栏  ›  技术社区  ›  JoseMarmolejos

使用Drupal API获取与类别术语相关的节点数组

  •  4
  • JoseMarmolejos  · 技术社区  · 14 年前

    我有一个简单的一级深度词汇分类法。类似于词汇->术语->节点。我想知道的是,如果有一个内置函数来获取与单个术语相关的节点数组,比如taxonomy_select_nodes(),但它将返回一个节点数组而不是字符串。

    1 回复  |  直到 14 年前
        1
  •  7
  •   Henrik Opel    14 年前

    嗯, 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;
    }
    

    但是,对于大量节点,性能可能会非常差:/