4

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

谢谢

4

1 回答 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编辑,不幸的是被拒绝了。看来必须自己编辑帖子才能让他改成这个答案。

于 2012-07-24T13:32:04.267 回答