我在Drupal 6中进行了以下设置:
节点内容类型:uprofile
字段: 字段组:group_about,字段为field_about_me,field_programinfo
我正在使用以下逻辑创建节点:
$node = new stdClass();
$node->title = trim($name);
$node->type = 'uprofile';
$node->created = time();
node_save($node);
我尝试使用各种方法保存节点,但所有这些都是徒劳的,这是我试过的一种方式(来自drupal网站):
$form_state = array();
module_load_include('inc', 'node', 'node.pages');
$form_state['values']['type'] = 'uprofile';
$form_state['values']['status'] = 1;
$form_state['values']['op'] = t('Save');
$nodetype = array('type' => 'uprofile');
$form_state['values']['title'] = trim($name);
form_state['values']['field_about_me'][0]['value'] = trim($name);
$form_state['values']['field_programinfo'][0]['value'] = trim($name);
drupal_execute('uprofile_node_form', $form_state, (object)$nodetype);
这没有效果,我对此没有想法。任何人都可以指导我朝正确的方向发展。
感谢。
答案 0 :(得分:0)
一直使用类似的东西从其他数据库获取和重新格式化数据并将其插入Drupal:
$node = new StdClass();
$node->type = 'NODETYPE';
$node->status = 1;
$node->format = 2;
$node->moderate = 0;
$node->promote = 0;
$node->sticky = 0;
$node->revision = 0;
$node->comment = 0;
// Main node content
$node->title = 'TITLE';
$node->teaser = '';
$node->body = 'BODY';
// Author details
$node->uid = 1;
$node->name = 'USERNAME';
// CCK fields
$node->field_NODETYPE_summary[0]['value'] = 'SUMMARY';
$node->field_NODETYPE_details[0]['value'] = 'DETAILS';
// Submit and save
$node = node_submit($node);
node_save($node);
在您的具体案例中需要进行少量修改,但应该给您一些启动。