4つのフィールドを持つカスタムフォームを作成していて、いくつかのCCKフィールドを持つ特定のコンテンツタイプのノードを作成したいと思います。
このフォームの送信時に、プログラムでノードを作成することを目的としています。一部のフィールドのデフォルト値をプッシュする予定であり、一部のフィールドはこのフォームウィジェットでマップされます。
これが私のコードです
 <?php
require 'modules/node/node.pages.inc';
/**
 * Implements hook_menu().
 */
function taskform_menu() {
  $items = array();
  $items['admin/content/taskform'] = array(
    'title' => 'Add Task',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('taskform_form'),
    'access arguments' => array('create create_task content'),
  ); 
  return $items;
}
 global $user;
function taskform_perm() {
  return array('Submit daily task');
}
function taskform_form(&$node)
{
  $form['date'] = array(
    '#type' => 'date', 
    '#title' => t('Date'),        
  );
  $form['edproject'] = array(
    '#type' => 'select', 
    '#title' => t('Project'), 
    '#options' => array(
      1 => 'Konnected', 
      2 => 'eLearning', 
      3 => 'Others',
    ),
    '#description' => t('Choose a project'),
  );
  $form['task'] = array(
    '#type' => 'textfield', 
    '#title' => t('Task'), 
    '#size' => 30,
    '#required' => TRUE,
    '#maxlength' => 30,
    '#description' => t('Enter the task'),
  );
  $form['remarks'] = array(
    '#type' => 'textfield', 
    '#title' => t('Remarks'), 
    '#size' => 30,
    '#description' => t('Enter remarks (If any).'),
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Add Task'),
    '#submit' => array('taskform_form_submit'),
  );
  return $form;
}
function taskform_form_submit($form, &$form_state) {
  $node = new stdClass();
  $node->type = 'create_task';
  $node->uid = $user->uid;
  $node->title = $form_state['values']['task'];
  $node->body = $form_state['values']['task'];
  $node->status = 1;
  $node->promote = 0;
  $node->field_assigned_uid[]['uid'] = $user->uid;
  node_object_prepare($node);
    $node = node_submit($node);
    if ($node->validated) {
        node_save($node);
    }
    else{
        t("Node not created");
    }
}
これを送信すると、タイトルと本文としてテキストフィールドテキストを使用してコンテンツタイプが作成されますが、テーブルノードのuid列にUID(ログインしたユーザーID)を保存したいと思います。 ...そして私はあなたが見ることができるようにそれをやってみました...しかしそれでもそれは0を送っています...私はこれについて助けが必要です...助けてください