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

标签 drupal drupal-6 drupal-taxonomy

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

谢谢

最佳答案

获取节点:

$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] 表示该字段的第一次出现。不要将该功能与术语混淆。您可以添加任意数量的术语。

更新:感谢 klikeredit ,可惜被拒绝了。它seems我必须自己编辑帖子才能让他改成这个答案。

关于Drupal 以编程方式为节点设置术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625630/

相关文章:

Drupal 7用户图片链接

drupal - 如果编辑或添加表单,如何在 drupal 节点表单中检测?

php - print_r 在 PHP 中获取对象方法?

mysql - 将一个表中的两个字段与另一个表中的 id 元素相匹配的 SQL 语句

mysql - 如何索引sql数据库以使用Match Against查询

drupal - node_load 还是直接查询?

mysql - 在MYSQL中查找具有不同拼写的重复记录

drupal - 在创建时将节点添加到 nodeQueue

php - drupal - 删除图像、内容和标签文本

Drupal View : Get nodes with the same taxonomy as the current node