我有一个网站,其中一些用户将由我们的工作人员注册,并且不会有与其关联的电子邮件。我想将电子邮件字段保留为必填字段,因此我设计了一个随机电子邮件生成器。在Drupal中挂钩用户注册
function generateRandomEmail() {
$email = 'noemail'. rand(0,1000000) . '@noemail.com';
return $email;
}
因此,我将它附加到用户注册表alter,并且它运行良好,可以为这些用户有效生成电子邮件。
但是,在此过程中,与主帐户部分(密码,用户名,通知等)相关的所有其他字段都消失了。我的问题是,有没有一种快速填充我不想改变的字段的方法?我用过drupal_render($ form);在tpl.php中,但它没有在alter形式中工作。
这里是我改变形式:
function accountselect_user($op, &$edit, &$account, $category) {
if ($op == 'register') {
$fields['account']['mail'] = array(
'#type' => 'textfield',
'#default_value' => generateRandomEmail(),
);
不是你的问题的答案,但你知道'noemail.com'是一个现有的域名,将收到邮件发送到您的'随机'电子邮件地址?你应该使用你自己的域名,或者至少是正式保留的'example.com'来防止发送邮件给无关的参与者! – 2010-03-05 10:21:35