如何在Joomla 1.7中将电子邮件设置为用户名

时间:2011-11-20 21:35:21

标签: php database email joomla joomla1.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');

2 个答案:

答案 0 :(得分:0)

我发现了一种方法 只需添加

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

正好在

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

在模块文件中,然后从.xml中删除“username”fiels,并在views / registration / 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;">

我所谈论的所有文件都在/ components / com_users /

它应该有用......

答案 1 :(得分:-1)

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

上述扩展程序将删除用户在注册时输入用户名的必要性。但是,它会根据名称字段生成用户名。它仅使用电子邮件地址作为用户名作为最后的手段,因为这可能会导致Joomla中的某些扩展名出现问题。它还允许用户使用他们的电子邮件地址登录。

迪伦