You are here

Drupal专业开发指南 第14章 查找带有特定术语的节点

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-08-21 16:00

老葛的Drupal培训班 Think in Drupal

有时,你想有一种简单的方式,来查询具有特定术语的节点,或者输出这样查询的结果。下面的函数可以帮你实现这一点。
 
taxonomy_select_nodes($tids, $operator, $depth, $pager, $order)
这个函数,将基于给定参数构建一个数据库查询,并执行该查询,来查找匹配特定条件的节点。它返回一个指向查询结果的资源标识符。参数$tids是一个包含术语ID的数组。参数$operator是“or”或者“and”,它用来声明如何解释$tids数组。参数$depth指示在分类树中要遍历的层次深度,默认为0,意味着“不要对$tids中术语的任何孩子进行查找”。将$depth设为1,意味着对$tids中的术语以及它们的第一代子术语进行查找。将$depth设为all,意味着对$tids中术语以及它们的所有子术语进行查找。参数$pager是一个布尔值,用来指示是否要对生成的节点列表使用分页器,它默认为TRUE。如果你要生成一个XML种子,那么你可以将$pager设置为FALSE。参数$order包含了字面上的order语句,用在查询的SQL中,默认为“n.sticky DESC, n.created DESC”。
如果你需要对许多术语进行搜索,那么这个函数是非常耗费数据库资源的。
 
taxonomy_render_nodes($result)
如果你使用taxonomy_select_nodes()来查询匹配特定分类条件的节点,那么我们在这里就可以把taxonomy_render_nodes()作为一个起点,来为你的查询创建一个简单的输出。
 

Drupal版本: