ฉันกำลังสร้างแบบฟอร์มที่กำหนดเองที่มี 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 (ID ผู้ใช้ที่เข้าสู่ระบบ) ไว้ในคอลัมน์ uid ของโหนดตาราง ...และผมได้ลองทำตามที่เห็นแล้ว...แต่ก็ยังส่ง 0 อยู่...ผมต้องการความช่วยเหลือในเรื่องนี้...กรุณาช่วยด้วย