2011-03-23 72 views
0

在Drupal 7中,当编辑节点并保存有父母的分类术语时,我怎样才能将父谱系附加到节点?保存分类术语的谱系

即:

Honda 
-> Civic 
Toyota 
-> Corolla 

如果我选择卡罗拉,丰田也将连接到该节点。

回答

1

你通常不需要这样做;无论您希望如何使用这些功能,都可以通过编程方式为您执行此操作。例如,如果您希望所有这些显示在页面上,我知道可以在面包屑中显示完整的层次结构 - 它可以位于核心或模块中。如果你想搜索“Honda”也可以显示Civics ......就好像你已经为这个词汇表设置了一个暴露的过滤器的Views页面 - 你会发现在这些过滤器的选项中,还有一个选项显示与您正在搜索的分类术语的“子”相关的节点。

为了编写代码自己对于显示的分类项的父母一个模板文件,请参阅taxonomy_get_parents($tid)http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/function/taxonomy_get_parents/7

+0

建立一个视图将工作,但我似乎无法找到这样做的选项......我如何设置一个过滤器来显示本田或儿童本田标记的任何东西? – 2011-03-24 20:20:38

+0

刚刚查看了Views界面 - 它是Filters> Filtersonomy ID with depth - OR Arguments> Taxonomy ID with depth。所以这个论点将需要是术语ID,而不是术语本身(即单词)。这意味着如果你想让它“很好”并且在url中包含实际的单词,你可能会想要做一些编程 - 用arg()抓住这个单词,使用一个函数来获取分类术语的相应ID(去http://api.drupal.org&search taxonomy),然后使用术语ID作为参数之一来创建/嵌入视图。 – James 2011-03-24 21:26:16

+0

感谢詹姆斯,过滤器>深度分类标识应该做我想做的,但在Drupal 7中它似乎被打破:http://drupal.org/node/1095248(它在Drupal 6中工作正常) – 2011-03-25 00:27:49

2

您可以使用Hierarchical Select模块这一点。启用“保存血统”设置来实现它。