2011-11-20 96 views
1

我使用Joomla 1.7,我想对于一些用户不必插入一个用户名。如何设置电子邮件作为用户名中的Joomla 1.7

我试图设置在注册(对于上述用户),系统将保存在用户名字段和电子邮件字段输入的电子邮件,并从表单中删除用户名文本框。

我知道我需要插入$data['username'] = $data['email']的地方,但我不能找到合适的地方。 我试图把它像这样在注册模式下public function register($temp)没有成功。我找不到另一个合乎逻辑的地方。

// Prepare the data for the user object. 
$data['my_teacher'] = $data['my_teacher']; 
$data['email']  = $data['email1']; 
$data['username'] = $data['email1']; 
$data['password'] = $data['password1']; 
$useractivation = $params->get('useractivation'); 

回答

0

我发现了一个办法做到这一点 只是在模块文件中添加

 if(isset($temp['email1'])){ 
      $temp['username'] = $temp['email1']; 
     } 

权下

 $temp = (array)$app->getUserState('com_users.registration.data', array()); 

,然后从该的 “用户名” fiels。 xml和添加名为隐藏的字段:jform [用户名]和id:在意见文件如default.php jform_username /注册/ TMPL

行是这样的,我说的这个

<input type="text" name="jform[username]" id="jform_username" value="<?php echo 'something.random.that.will.be.replaced.with.the.email'; ?>" style="visibility:hidden;"> 

所有文件都在/组件/ com_users/

它应该工作...

-1

http://extensions.joomla.org/extensions/access-a-security/authentication/10343

上述扩展将删除用户在注册输入用户名的需要。但是,它会根据名称字段生成用户名。它使用的电子邮件地址作为用户名只能作为最后的手段,因为这可能会导致在一定的Joomla扩展问题。它还允许用户使用他们的电子邮件地址登录。

迪伦

+0

谢谢你,但我不希望它向所有用户申请第二份注册表格,我希望它仅适用于该表格的用户。 –

相关问题