在Drupal 6中使用挂钩保存imagefield时出现问题

在Drupal 6中使用挂钩保存imagefield时出现问题,drupal,cck,imagefield,Drupal,Cck,Imagefield,这是我的自定义模块;它基本上从一个特定的URL获取一个文件,将其保存在临时文件夹中,然后我希望它修改“file”类型的cck字段(字段名为:field\u video\u thumb): 我在这里遇到的问题是,当我建议使用“node_save($node)”时,它会工作(当然是递归调用),删除它不会起任何作用 我一定错过了一些非常明显的东西,但我想不出来。我刚才错过了。其中还包括一些额外的步骤,但与您的尝试最重要的区别是使用hook\u nodeapi()的“presave”操作而不是“upda

这是我的自定义模块;它基本上从一个特定的URL获取一个文件,将其保存在临时文件夹中,然后我希望它修改“file”类型的cck字段(字段名为:field\u video\u thumb):

我在这里遇到的问题是,当我建议使用“node_save($node)”时,它会工作(当然是递归调用),删除它不会起任何作用

我一定错过了一些非常明显的东西,但我想不出来。

我刚才错过了。其中还包括一些额外的步骤,但与您的尝试最重要的区别是使用
hook\u nodeapi()
的“presave”操作而不是“update”,因为更新发生在节点更新之后

(答案中的代码取自一个实用程序类,因此您需要对其进行一些调整,以便在函数中工作。)

我刚才有。其中还包括一些额外的步骤,但与您的尝试最重要的区别是使用
hook\u nodeapi()
的“presave”操作而不是“update”,因为更新发生在节点更新之后


(答案中的代码取自一个实用程序类,因此您需要对其进行一些调整,以便在函数中工作。)

在上面的代码中,未定义$filename、$files\u路径,除非省略了它。在上面的代码中,未定义$filename、$files\u路径,除非省略了它。
function mymodule_nodeapi(&$node, $op) {
switch ($op) {
    case "update":
              $node->field_video_thumb[0] = 
              field_file_save_file ($filename, array(),
              $files_path, FILE_EXISTS_REPLACE);
              // node_save($node);
            break;
    }
}