Discuz教程网

[代码修改] DX2.0 注册性别由“列表”变“单选”,可以设置必选项。

[复制链接]
authicon dly 发表于 2012-2-23 00:03:00 | 显示全部楼层 |阅读模式
DX2.0 注册性别由“列表”变“单选”,必选功能可以在后台自行设置,后台位置是:用户-用户栏目-性别,点击后边的编辑,将其中的“是否必填”选“是”即可。

首先看效果图:
232311mobw4d99898towd4.jpg.thumb.jpg

设置方法:
定位文件
../source/function/function_profile.php

找到代码段
  1. elseif($fieldid=='gender') {
  2. if($field['unchangeable'] && $space[$fieldid] > 0) {
  3. return '<span>'.lang('space', 'gender_'.intval($space[$fieldid])).'</span>';
  4. }
  5. $selected = array($space[$fieldid]=>' selected="selected"');
  6. $html = '<select name="gender" id="gender" class="ps" tabindex="1">';
  7. if($field['unchangeable']) {
  8. $html .= '<option value="">'.lang('space', 'gender').'</option>';
  9. } else {
  10. $html .= '<option value="0"'.($space[$fieldid]=='0' ? ' selected="selected"' : '').'>'.lang('space', 'gender_0').'</option>';
  11. }
  12. $html .= '<option value="1"'.($space[$fieldid]=='1' ? ' selected="selected"' : '').'>'.lang('space', 'gender_1').'</option>'
  13. .'<option value="2"'.($space[$fieldid]=='2' ? ' selected="selected"' : '').'>'.lang('space', 'gender_2').'</option>'
  14. .'</select>';
复制代码

修改为:
  1. elseif($fieldid=='gender') {
  2. if($field['unchangeable'] && $space[$fieldid] > 0) {
  3. return '<span>'.lang('space', 'gender_'.intval($space[$fieldid])).'</span>';
  4. }
  5. $selected = array($space[$fieldid]=>'checked="checked"');
  6. if($field['unchangeable']) {
  7. $html .= '<option value="">'.lang('space', 'gender').'</option>';
  8. }
  9. $html .= ''
  10. .'<label ><input type="radio" name="gender" id="gender" value="1" '.($space[$fieldid]=='1' ? 'checked="checked"' : '').'/>'.lang('space', 'gender_1').' '.'</label>'
  11. .'<label ><input type="radio" name="gender" id="gender" value="2" '.($space[$fieldid]=='2' ? 'checked="checked"' : '').'/>'.lang('space', 'gender_2').' '.'</label>'
  12. .'<label ><input type="radio" name="gender" id="gender" value="0" '.($space[$fieldid]=='0' ? 'checked="checked"' : '').'/>'.lang('space', 'gender_0').' '.'</label>';
复制代码

其中,”value="0"这一行代码是“保密”选项,换到了第三行,可以自行调整位置。但是千万注意末尾的分号“;”一定不要忘记。
"gender_0"对应的显示文字是“保密”,可以修改为其他。
定位文件
../source/language/lang_space.php
找到:
  1. 'gender_0' => '其它',
  2. 'gender_1' => '男',
  3. 'gender_2' => '女',
复制代码

可以将对应的文字修改为自己想要的,比如帅哥、美女、人妖等。
还可以单独额外增加更多的性别,只要稍微分析一下代码即可明白。

怀疑其中某几行代码已经多余了,但是不明白具体是不是要去掉,但是不去掉也没发现影响什么,希望高手给看一下,谢谢。



上一篇:Discuz 应用中心平台已正式取代存在多年的扩展中心
下一篇:用Javascript 对IE 的WEB打印进行控制
authicon 空中 发表于 2012-2-23 00:10:49 | 显示全部楼层
很强大 定下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 05:21

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表