【问题标题】:Drupal Set term programmatically for a nodeDrupal 以编程方式为节点设置术语
【发布时间】:2012-07-24 06:54:42
【问题描述】:

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

谢谢

【问题讨论】:

    标签: drupal drupal-6 drupal-taxonomy


    【解决方案1】:

    获取节点:

    $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 我必须自己编辑帖子才能让他改成这个答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多