0

有没有通过使用规则或一些自定义代码来做到这一点?我确实尝试使用规则,但我找不到添加新术语并将名称设置为节点标题的方法,因为 [node:title] 令牌不可用。

我知道使用NAT模块可以做到这一点,但是如果您添加使用相同分类词汇的术语参考字段,该模块会更改分类术语层次结构,这会破坏我尝试做的整个目的。

4

3 回答 3

2

使用hook_node_insert()您可以在保存节点时添加一些操作。

只要您在此步骤中拥有所有节点信息,同时创建分类术语就没有真正的困难。

请注意,还有一个hook_node_update()函数。

于 2011-03-09T15:45:05.857 回答
2

乍一看,我有两个建议:

  • 在 Drupal 7 中,您可以为每个词汇表创建字段,所以也许每次都创建“ one term with fields”而不是创建“”会更有趣one node with fields + one term

  • 否则,任何需要通过其匹配分类术语引用您的节点的实体都可以直接引用该节点(使用“ Node Reference”字段),这样您就不需要与节点列表并行维护一个单独的词汇表。

但是,如果您仍想为每个节点创建一个术语,那么您应该使用 Haza 提到的钩子。

于 2011-03-09T16:07:36.603 回答
1

它并不像上面的帖子让你相信的那么简单。如果您想要仅保持术语名称和节点标题同步的功能,请尝试使用 NAT 模块。尽管我必须编写自己的模块来完成您的操作要求。

如果您使用分类法来构建所有内容的图形结构(有点像 RDF),那么用节点字段构建一个术语是行不通的。当然,您可以为您想要的每种内容类型提供一个新的词汇包,但功能如下

taxonomy_get_parents_all()
taxonomy_get_tree() 

编写时考虑了单个词汇表并使用了不同的指向系统(引用与术语中称为关系字段的任何内容 - 集父级)

尽管核心分类功能在词汇表之间的关系方面是有限的,但它仍然比 og 或引用的功能要好得多。关系模块是理想的,但到目前为止社区支持的方式几乎没有。关系应该进入核心imo。

于 2012-04-09T03:52:39.997 回答