代码之家  ›  专栏  ›  技术社区  ›  Jamison Dance

如何以编程方式向hook\u nodeapi()中的节点添加分类术语?

  •  3
  • Jamison Dance  · 技术社区  · 14 年前

    function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
      switch ($op) {
        case 'insert':
          $node->taxonomy = array(1 => taxonomy_get_term(1));
          node_save($node);
        break;
      }
    }
    

    当我调用node\u save()时,代码只是进入一个循环,因为node\u save调用hook\u nodeapi()。当我不调用node\u save时,将不保存任何内容。如果我做了,我会被诅咒,如果我不做,我会被诅咒。有什么好办法吗?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Jeremy French    14 年前

    $op="presave" 以您想要的方式更改分类法,然后让分类法模块为您保存术语。以后不需要使用node\u save。事实上,在nodeapi实现中应该避免节点保存,原因是您声明的。

        2
  •  0
  •   stealthyninja michkra    13 年前

    使用 hook_form_alter() $form_state