这是我的自定义模块;它基本上从特定的URL中提取文件,将其保存在临时文件夹中,然后我希望它修改“文件”类型的cck字段(字段名称为:field_video_thumb):
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;
}
}
我在这里遇到的问题是,当我使用'node_save($ node)'它可以工作时(但当然是递归调用)并删除它不会做任何事情。
我必须遗漏一些非常明显但却无法理解的东西。
答案 0 :(得分:1)
我前一段时间answered a similar question。还有一些额外的步骤,但与您的尝试最重要的区别是使用hook_nodeapi()
的'presave'操作而不是'update',因为在节点之后更新发生更新。
(答案中的代码来自实用程序类,因此您需要稍微调整一下才能在函数中使用。)