我正在使用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 :(得分: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中的某些扩展名出现问题。它还允许用户使用他们的电子邮件地址登录。
迪伦