匿名用户表单提交drupal 7

时间:2011-04-11 19:12:28

标签: drupal-7 user-registration

我有一种情况,在进行基本注册后,用户被重定向到他需要填写小表格的页面。

我的目标是实施hook_user_inserthook_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但仍然存在问题。

请帮助!!!!!!!!

2 个答案:

答案 0 :(得分:1)

尝试删除'access callback' => TRUE,并添加'access arguments' => array('access content'),

也许您忘记清除缓存了?

答案 1 :(得分:1)

在用户注册后,您所引用的表格是否必须填写?如果是这样,那是一个有点棘手的情况。无论哪种方式,将drupal_goto放在user_insert挂钩中都会中断注册过程。如果您的表单不要求用户首先注册,您只需更改注册表单以包含您在表单上的任何额外字段。为此,您需要实现hook_from_alter():

http://api.drupal.org/api/drupal/modules--system--system.api.php/function/hook_form_alter/7