2012-11-23 30 views
3

我正在研究將Drupal連接到外部Web服務的模塊。 當用戶註冊時,我希望他在Web服務中註冊,而不是在Drupal中註冊。 我想覆蓋提交user_register表單時調用的提交函數。覆蓋Drupal中user_register表單的提交功能

我已經使用$ form ['#submit'],但它不工作。

任何其他解決方案?我正在使用drupal7。

我用這樣的

function mymodule_form_user_register_form_alter(&$form, &$form_state, $form_id) { 
$form['account']['name']['#title'] = t('Full name'); // perform other changes here 
$form['#submit'][] = 'mymodule_user_register_form_submit' 
} 
+0

你可以粘貼你的代碼?,這樣做的方式是使用$ form ['#submit'] – m4t1t0

+0

我更新了我的問題 –

回答

3

當您使用

$form['#submit'][] = 'mymodule_user_register_form_submit' 

你實際上並沒有覆蓋提交模塊。你在執行由所有其他模塊創建的提交功能(在我之前運行)後執行,也執行我的功能mymodule_user_register_form_submit

如果你想覆蓋提交功能使用類似$form['#submit'] = 'mymodule_user_register_form_submit'這將確保你的功能是唯一的函數將被執行。

+0

我沒有發現我和你的方法有什麼不同。 我的方法$形式[ '#提交'] [] = 'mymodule_user_register_form_submit' 你的方法$形式[ '#提交'] [] = 'mymodule_user_register_form_submit' 我應該在哪裏使用? –

+0

糟糕對不起我的壞。將$ form ['#submit'] []更改爲$ form ['#submit'] =在第一個要添加數組的地方,但第二個地方只有一個值。 –