我有一种情况,在进行基本注册后,用户被重定向到他需要填写小表格的页面。
我的目标是实施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但仍然存在问题。
请帮助!!!!!!!!
答案 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