Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[分享] UCHOME后台自定义用户栏目增加多选项配合原程序搜索+控制自定义栏目显示位置

[复制链接]
w3xiuling 发表于 2009-12-11 03:59:33 | 显示全部楼层 |阅读模式
本帖最后由 w3xiuling 于 2010-01-17 03:23 编辑

UCHOME后台自定义用户栏目增加多选项(复选框)配合原程序搜索

我需要这种,所以首先搜索了论坛,都没找到一个分享出来的,UCH的自定义用户栏目,说真的类型太少了,呵呵,就只有文本格式和下拉框式的,所以没有现成的,只有自己动手咯

我的效果图先给大家看看:



是这样的效果

操作如下:

第一步:在

admin/tpl/profilefield.htm

里面找到

<option value="select"$formtypearr[select]>列表框</option>

在其下面加一句

<option value="multi"$formtypearr[multi]>多选框</option>

说明一下这里的multi,因为我发现默认的UCH模板里面有定义这个而没有用到,所以呢,我就直接命名这个multi,这样又少了一步操作,这个名称自己命名了,然后还和有一步操作,也是在这个模板文件里面
<!--{eval
        $_TPL['formtypes'] = array('text'=>'文本输入', 'select'=>'单选列表', 'multi'=>'多选列表');
}-->

这个相信大家都看得明白,该怎么加也一清二楚了


第二步:

找到

source/cp_profile.php

  1. $setarr['field_'.$field] = getstr($_POST['field_'.$field], $value['maxsize'], 1, 1);
复制代码
这句话替换成
  1. if($value['formtype'] == 'multi'){$value['maxsize'] = 500;
  2.                         $valuep = $_POST['field_'.$field];
  3.                         if(!is_array($valuep) || empty($valuep)) return false;
  4.                         $setarr['field_'.$field] = implode(',', $valuep);
  5.                         $setarr['field_'.$field] = getstr($setarr['field_'.$field], $value['maxsize'], 1, 1);
  6.                         }
  7.                         else{
  8.                         $setarr['field_'.$field] = getstr($_POST['field_'.$field], $value['maxsize'], 1, 1);
  9.                         }
复制代码
找到
  1. if($value['formtype'] == 'text') {
  2.                         $value['formhtml'] = "<input type="text" name="field_$fieldid" value="".$space["field_$fieldid"]."" class="t_input">";
  3.                 }
复制代码
在其后面加上
  1. elseif($value['formtype'] == 'multi'){
  2.                         $optionarr = explode("\n", $value['choice']);
  3.                         foreach ($optionarr as $ov) {
  4.                                 $ov = trim($ov);
  5.                                 if($ov) {
  6.                                 $valuep = $space["field_$fieldid"];
  7.                                 if(strpos($valuep, ',')){
  8. $values = explode(',', $valuep);
  9. $selectstr = ($values && in_array($ov, $values)) ? 'checked' : '';
  10. }
  11.                                         $name = "field_$fieldid"."[]";
  12.                                         $value['formhtml'] .="<input type="checkbox" name="$name" value="$ov"$selectstr> $ov";
  13.                                 }
  14.                         }
  15.                 }
复制代码
好了,操作完成

这过程中不设计到改搜索的,搜索还是就让它以下拉框的形式显示

效果是这样的



修改之后别忘记更新缓存了,再看效果

有什么问题,留言说明!

刚开始动UCH,希望大家多多指点

这样下去,大家想要什么多行输入框也就简单了



二楼的附件和这个一样的,随便下载哪个都OK

现在加上后台用户管理效果,这个功能就完整了,放心用吧

后台管理会员效果图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| w3xiuling 发表于 2009-12-11 21:27:58 | 显示全部楼层
本帖最后由 w3xiuling 于 2010-01-17 03:23 编辑

看来要的人不咋多, 我今天把控制显示位置的弄出来了,想它显示到基本资料就在基本资料,在联系方式就在联系方式

效果图给大家看看,有人要,就分享出来



还有多行文本框也OK了,当然搜索也搞好了的


程序文件我打包上来,不会操作的就拿我的文件覆盖,不过记住要备份一下你原先的文件……



因为这几天停电,这个插件也弄了几天了,如果有什么问题,留言说明……

这个文件里面包含多选框,多行输入文本和控件显示位置的效果


后台修改用户的也上传了,现在都处理完整了。放心用吧……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

feng157aaa 发表于 2009-12-12 14:33:09 | 显示全部楼层
好东西,分享下,谢谢。
回复

使用道具 举报

leonswin 发表于 2009-12-12 15:39:03 | 显示全部楼层
没有恶意代码吗?
回复

使用道具 举报

 楼主| w3xiuling 发表于 2009-12-12 19:50:25 | 显示全部楼层
回复 4# leonswin


    什么叫恶意代码?

如果分享东西还要加上恶意代码,那还有意思吗?
回复

使用道具 举报

phoenixone 发表于 2009-12-15 18:13:26 | 显示全部楼层
看来要的人不咋多, 我今天把控制显示位置的弄出来了,想它显示到基本资料就在基本资料,在联系方式就在联系 ...
w3xiuling 发表于 2009-12-11 21:27



    很想要这个功能啊!!!!
回复

使用道具 举报

三加一 发表于 2009-12-17 19:33:15 | 显示全部楼层
谢谢楼主  这个东西找了一年了 终于被你给轻松解决了
回复

使用道具 举报

phoenixone 发表于 2009-12-21 17:28:39 | 显示全部楼层
没人回复??
回复

使用道具 举报

 楼主| w3xiuling 发表于 2009-12-21 21:53:09 | 显示全部楼层
不好意思,各位,这个星期陆续停电,搞得无法上网……我整理整理然后放上来
回复

使用道具 举报

phoenixone 发表于 2009-12-21 23:18:10 | 显示全部楼层
亲身测试良好运行,太感谢楼主老大了!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-3 17:58 , Processed in 0.097771 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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