在提交另一个表单时静默创建用户帐户

时间:2010-08-30 19:16:36

标签: drupal drupal-6 form-alter

我有一个从另一个模块创建的表单。我想在该表单中添加2个字段:1。电子邮件,2。密码。我想我可以用hook_form_alter做到这一点。然后我想创建一个用户帐户并在单击提交按钮时登录用户,然后继续执行表单定义的操作。

原始表单没有#submit属性......它只有一个#action属性。

我像这样添加#submit属性:$ form ['#submit'] = array('accesscustom_submit');

但似乎没有调用accesscustom_submit。我认为表单只是被重定向到已经定义的#action url。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否正在尝试编辑评论表单? $ form ['#action']是一个非常罕见的属性...评论表单是我能想到的唯一使用它的表单。

在任何情况下,您都可以通过设置用户数组($account = array('name' => $username, 'pass' => $pass))并将其发送到user_save来轻松创建帐户。有关详细信息,请参阅http://api.drupal.org/api/function/user_save/6

创建帐户后,您可以致电user_external_login将其登录(http://api.drupal.org/api/function/user_external_login/6