请选择 进入手机版 | 继续访问电脑版

discuz个人资料排序、添加自定义字段、修改栏目名称和介绍

[复制链接]
树苗收集系 发表于 2019-11-23 19:51:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
(一)个人资料项排序问题解决方法

首先说明一下情况,昨天在做网站的个人资料项时发现后台可以设置排序的(图一)数字越大越往下,但是用户页面()却是一直不变,比如新添加的字段想让他排在第一,在网上找了好久都没有搜索到(或许是我不会搜索)看了大半天,看懂了点,
( 修改后的效果)

个人资料排序修改原理:每个标签下的资料项(如图中宝宝资料)都是以数组后在序列号的方式储存到数据库中的,这样自然就不能再排序了(排序也是在数组中处理按字母什么的排序,这样也不方便),查看文件include/spacecp/spacecp_profile.php文件,我们观察到,它先获取每个大项下属的每个小项以数组的形式,然后根据小项获取每个小项的html代码(就是后面的文本框、下拉框了),我们在获取小项后在对对数组中的每个小项根据原理后台设置的排序进行再次排序,在让它获取html代码就搞定了。

步骤:打开spacecp_profile.php文件

在大概423行下面 紧贴(搜索下面代码也可)
  1. $htmls = $settings = array();
复制代码
上面添加如下代码:
  1. //二次开发 <<< 个人资料修改页面各选项排序问题解决

  2. $noorder = array('idcardtype','idcard','zipcode','sightml','customstatus','timeoffset');

  3. $jiaoji = array_intersect($noorder,$allowitems); //计算两个数组的交集,不计算的话个人签名和时区不显示

  4. if(empty($jiaoji)){ $query = DB::query('SELECT fieldid FROM '.DB::table('common_member_profile_setting')." WHERE fieldid IN (".dimplode($allowitems).") ORDER BY displayorder ASC");

  5. $allowitems=array(); //清空原来的小项的数组,以便对新数组排序

  6. while($value = DB::fetch($query)) { $allowitems[$value['fieldid']] = $value['fieldid']; } }

  7. //二次开发 >>>*/
复制代码
计算交集问题$jiaoji 是因为不过不计算的话,个人签名和地区好像不显示,交集里的其他元素我也不知道是上面懂得,反正我的效果实现了,你们看哪里有需要的地方再修改吧。

(二 )添加N多自定义字段

原来discu x2 自带的自定义只有8个,比如我今天不高兴,心里又比较变态,想在加几十个怎么办,在数据表里

(三)修改栏目名称和栏目介绍

discux 系统自带的栏目和栏目介绍是不可以修改的,我们新添添加的fieldN也是不可以修改的,要修改的话可以在数据库中一个个改,这样比较麻烦,修改方法:

打开source/admincp/admincp_members.php

搜索:
  1. $field['customable'] = preg_match('/^field[1-8]$/i', $fieldid);
复制代码
只修改我们新添加的field自定义字段可以修改栏目名称和描述的方法(把[1-8]改为\d+)
  1. $field['customable'] = preg_match('/^field\d+$/i', $fieldid);
复制代码
修改系统所有字段;
  1. $field['customable'] = preg_match('/.*/i', $fieldid);
复制代码
这样就可以很方便的修改栏目名称和介绍了



回复

使用道具 举报

精彩评论1

红颜纷扰红尘 发表于 2020-2-25 07:59:47 | 显示全部楼层
谢谢楼主,,,收藏ing
回复

使用道具 举报

发布主题
推荐阅读 更多
阅读排行 更多
广告位
关注官方微信

微信号:sorv_green

微博:blueFresh素材大全

QQ1群:45163589

QQ2群:54765476

全国服务热线:

400-123-456789

(工作日:周一至周五 9:00-16:00)
北京市朝阳区红军营南路19号集美家居后院楼2层
enquire@sorv_green.com

Archiver-手机版-小黑屋- 书丨SORV.cn

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.  皖ICP备18000311号-4