Drupal 7 开发内部培训资料, 分头诗人

用node_save()修改进行node的修改

赞成!
0
否决!

新建立了个表单,想要修改node想到了两个方法,一个是用node_save()

一个是直接进行sql的数据库操作,

数据库操作修改该filed_data表和结构field_revision表,不过进行数据库修改该后,在进行其他操作以后,这两个表的值又变回来了。

考虑用node_save()方法于是读了诗人的一个添加node的文章,不知道这种方法能不能实现

$node =node_load($nid); // 创建一个 node object
$node->type = "page"; // 内容类型选择page,或者其他你想指定的
$node->title = "节点的标题";
$node->language = LANGUAGE_NONE; // 节点的语言类型,LANGUAGE_NONE 表示und,不分语言,如果你系统安装了Locale模块,有多语言,你也可以指定是什么语言
求指导

$node->body[$node->language][]['value'] = '这里填写body修改后的内容';
$node->body[$node->language][]['summary'] = '这里是body的简介,简介是在列别页(Teaser)显示';
$node->body[$node->language][]['format'] = 'filtered_html';

1 个回答

赞成!
1
否决!

当然可以的,node_save 是可以添加跟修改的。

当$node 里面有$node->nid 的时候,就是修改。如果这个不存在,意味着这是一个新的node,那么它就会自己新增。