2011-04-11 83 views
0

我有一種情況,在做基本註冊後,用戶被重定向到一個頁面,他需要填寫一個小表單。匿名用戶表單提交Drupal 7

我瞄準執行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,但問題仍然存在。

請幫忙!!!!!!!!

回答

1

嘗試刪除'access callback' => TRUE,並添加'access arguments' => array('access content'),

也許你忘了清除緩存?

1

在用戶註冊之後,您所指的表單是否必須填寫?如果是這樣,那是一個有點棘手的情況。無論哪種方式,將一個drupal_goto放入user_insert掛鉤將會中斷註冊過程。如果您的表單不需要先註冊用戶,那麼您應該簡單地修改註冊表單,以包含表單上的任何額外字段。爲此,您需要實現一個hook_from_alter():

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