discuz官方注册用户邮箱时默认是必填项哦。本来这个在x3.0 和 x3.1 版本時後台可以設置的,但 x3.2 版本以后后台又取消這個功能設置了。 Discuz3.5可以直接安装插件解决: 插件地址:https://addon.dismall.com/plugins/tshuz_removeemail.html 不过既然有需求恢复这个功能,现在把教程贴出来给大家: 1、第一步 source/admincp/admincp_setting.php 文件 查找 showsetting('setting_access_register_send_register_url', 'settingnew[sendregisterurl]', $setting['sendregisterurl'], 'radio'); 在这个代码下添加: showsetting('setting_access_register_forge_email', 'settingnew[forgeemail]', $setting['forgeemail'], 'radio'); 2、第二步 打開 source/language/lang_admincp.php 文件 查找: 個郵箱只允許註冊一個帳戶<br/>注意:只有在<a href=”?action=setting&operation=mail”>站長 – 郵件設置</a>中完成郵件設置,確保郵件能發送成功下可以開啟該功能 ‘, 或者(看是简体还是繁体): 一个邮箱只允许注册一个帐户<br/> 注意:只有在<a href=”?action=setting&operation=mail”>站长 – 邮件设置</a>中完成邮件设置,确保邮件能发送成功下可以开启该功能 在下面添加: 'setting_access_register_forge_email' => '取消注册邮箱必填', 'setting_access_register_forge_email_comment' => '开启后如果用不不填写注册邮箱,将自动生成一个邮箱地址', 或者: 'setting_access_register_forge_email' => '取消註冊郵箱必填', 'setting_access_register_forge_email_comment' => '開啟後如果用戶不填寫註冊郵箱,將自動生成一個隨機郵箱地址', 3、第三步: 修改 source/class/class_member.php 文件$email = strtolower(trim($_GET['email']));if(empty($this->setting['ignorepassword'])) {if($_GET['password'] !== $_GET['password2']) {showmessage('profile_passwd_notmatch');}if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) { showmessage('profile_passwd_illegal'); } $password = $_GET['password']; } else { $password = md5(random(10)); } } 修改为: $email = strtolower(trim($_GET['email'])); if(empty($email) && $_G['setting']['forgeemail']) { $_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST']; } if(empty($this->setting['ignorepassword'])) { if($_GET['password'] !== $_GET['password2']) { showmessage('profile_passwd_notmatch'); } if(!$_GET['password'] || $_GET['password'] != addslashes($_GET['password'])) { showmessage('profile_passwd_illegal'); } $password = $_GET['password']; } else { $password = md5(random(10)); } } 这样修改后,后台就会出现一个注册邮箱取消的功能。然后设置取消后,前台也会相应的变化了。 |