Drupal以编程方式为节点设置术语

时间:2012-07-24 06:54:43

标签: drupal drupal-6 drupal-taxonomy

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

由于

1 个答案:

答案 0 :(得分: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感谢edit,但遗憾的是,这被拒绝了。它seems我必须自己编辑帖子,让他改变这个答案。