0

我尝试添加未发布的新节点。

我设置状态 = 0;

但是当检查这个节点时,状态 = 1;

这段代码。

$node = new StdClass();
                $node->type = 'article'; //giving it type
                $node->title = $article->headline; //gives title
                $node->body = $article->body; //gives body

                $node->field_abstract[0]['value'] = $article->summary;
                $node->field_is_syndigate[0]['value'] = 1;
                $node->field_syndigate_first_time[0]['value'] = 1;

                $node->language = $language->language; //'en' or 'ar'
                $node->comment = 2; //read&write comment

                //$node->created = $article->parsed_at;
                $node->created = '';
                $node->changed = $node->created;
                $node->status = 0;
                $node->promote = 0;
                $node->sticky = 0;
                $node->format = 4; // Editor Filtered HTML
                $node->uid = $user->uid;

                //$node->field_attribution[0]['value'] = $article->copyright; // attribution
                $attribution = '';
                if($article->logo_path){
                    $attribution = '<img src="http://pub.syndigate.info/logos/small/'.$article->title_id.'.png" title="'.$article->title_name.'" border="0" />';
                    if($article->website){
                        $attribution = '<a href="'.$article->website.'" title="'.$article->title_name.'" target="_blank">'.$attribution.'</a>';
                    }
                    $attribution .= ' ';

                }
                $attribution .= $article->copyright;
                $node->field_attribution[0]['value'] = $attribution; // attribution
                $node->field_source[0]['value'] = $article->title_id; // source
                node_save($node);

如何将节点保存为未发布。

4

1 回答 1

2

以编程方式创建节点时,需要设置

$node->is_new = TRUE; 

如果您将 设置$node->created为空值,我建议您从脚本中删除这一行,node_save()将处理它。与$node->changed您提供相同的值相同,只需从脚本中删除此行

希望这有帮助

于 2012-04-30T15:06:40.793 回答