匿名用户表单提交Drupal 7
问题描述:
我有一种情况,在做基本注册后,用户被重定向到一个页面,他需要填写一个小表单。匿名用户表单提交Drupal 7
我瞄准执行hook_user_insert
和hook_menu
做这样的事情
function registration_user_insert(&$edit, $account, $category){
drupal_goto('splan/'.$edit['uid']);
}
function registration_menu() {
$items['splan/%'] = array(
'title' => 'Select a Plan',
'page callback' => 'drupal_get_form',
'page arguments' => array('selectplan_form'),
'access callback' => TRUE,
'type' => MENU_CALLBACK
);
return $items;
}
在selectplan_form我将定义我的新形式,然后用UID我会保存数据到用户表。
现在发生的事情是在提交基本用户注册表单后重定向到splan/uid,但我也收到以下错误。
You are not authorized to access this page.
现在我改变了允许anony的权限。用户创建和编辑webform,但问题仍然存在。
请帮忙!!!!!!!!
答
尝试删除'access callback' => TRUE,
并添加'access arguments' => array('access content'),
。
也许你忘了清除缓存?
答
在用户注册之后,您所指的表单是否必须填写?如果是这样,那是一个有点棘手的情况。无论哪种方式,将一个drupal_goto放入user_insert挂钩将会中断注册过程。如果您的表单不需要先注册用户,那么您应该简单地修改注册表单,以包含表单上的任何额外字段。为此,您需要实现一个hook_from_alter():
http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_form_alter/7