如何为特定内容类型创建/更新drupal 6 CCK组字段



我在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);

这没有任何效果,我对此没有任何想法。谁能给我指引正确的方向吗。

谢谢。

曾经使用过类似的东西来从其他数据库中提取和重新格式化数据,并将其插入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);

在你的具体情况下,几乎不需要什么补偿,但应该给你一些开始。

最新更新