我正在寻找一种方法来保存表单收集的数据(此表单是从我正在处理的模块生成的)。我想将数据保存到我也创建的内容类型中。 这可能吗?我一直在寻找一种方法来做到这一点,并没有找到任何简单的方法来做到这一点。 我目前正在研究drupal 7。
到目前为止,这是我的代码:
function drupalform_menu() {
$items['drupalform/form1'] = array(
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
'page callback' => 'drupal_get_form',
'page arguments'=>array('drupalform_form1'));
return $items;
}
function drupalform_form1() {
$form = array();
$form['Civilite']=array(
'#type'=>'select',
'#title'=>t('Entrez votre civilite'),
'#options'=>array('M','Mr','Mme')
);
$form['nom']=array(
'#type'=>'textfield',
'#title'=>t('Entez votre nom'),
);
$form['email']=array(
'#type'=>'textfield',
'#title'=>t('Enter votre e-mail'),
);
$form['submit']=array(
'#type'=>'submit',
'#value'=>t('Submit')
);
return $form;
}
function drupalform_form1_validate($form, $form_state) {
if(empty($form_state['values']['nom']))
form_set_error('nom','Veuillez saisir votre nom');
else if(filter_var($form_state['values']['email'], FILTER_VALIDATE_EMAIL) == false)
form_set_error('email','Mail non valide');
}
function drupalform_form1_submit($form, $form_state) {
drupal_set_message("Le formulaire est envoyé");
drupal_goto();
}
答案 0 :(得分:0)
您可以通过分配如下所示的值来创建节点,
global $user;
$newNode = new stdClass();
$newNode->type = 'NODE_TYPE';
$newNode->title = 'NODE_TITLE'
$newNode->uid = $use->uid;
$newNode->created = strtotime("now");
$newNode->changed = strtotime("now");
$newNode->status = 1;
$newNode->comment = 0;
$newNode->promote = 0;
$newNode->moderate = 0;
$newNode->sticky = 0;
// add CCK field data
$newNode->field_YOUR_CUSTOM_FIELD_NAME_1[0]['value'] = 'FORM_VALUE_1';
$newNode->field_YOUR_CUSTOM_FIELD_NAME_2[0]['value'] = 'FORM_VALUE_2';
// save node
node_save($newNode);
您可以在表单中提交。