Drupal编程:为节点设置术语

4

我想在我的系统中更新一些节点,并更新附加到它们的特定分类法。我需要以编程方式完成此工作。我有节点ID和术语ID,想将此术语附加到此特定节点。在这里应该怎么做?

谢谢

1个回答

6
获取节点的方法:
$node = node_load($X); // $X is node ID.

附加术语ID - 请注意,这在D7中非常不同:

$node->taxonomy[$tid] = taxonomy_get_term($tid); // $tid is attaching term ID.

添加修订:
$node->revision = 1; 
$node->log = "Programatically attached taxonomy term.";

保存节点 - 如果节点是新的:

node_submit($node);
node_save($node);

或者,如果这是一个现有的节点,则保存该节点:
node_save($node);

在Drupal 7中,术语被附加为普通字段项,因此field_first_name[0]表示字段的第一个出现。不要将该功能与术语混淆。您可以添加任意数量的术语。
更新:感谢kliker提供的编辑, 不幸的是被拒绝了。看起来我必须自己编辑帖子,以便将其更改为这个答案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接