discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍

时间:2021-09-06 21:25:24
第一次写文章,希望与人提供方便同时,别误人子弟,自己研究的,大家看不懂只改文件就可以了,如果发现不对的地方请回复或直接通知我,谢谢,本来想在discuz论坛上发的,不懂版规也没时间看版规,怕发错,隔小jj怎么办?
(一)个人资料项排序问题解决方法

首先说明一下情况,昨天在做网站的个人资料项时发现后台可以设置排序的(图一)数字越大越往下,但是用户页面(图2)却是一直不变,比如新添加的字段想让他排在第一,在网上找了好久都没有搜索到(或许是我不会搜索)看了大半天,看懂了点,discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍

(图2)
discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍
(图2 修改后的效果)
个人资料排序修改原理:每个标签下的资料项(如图中宝宝资料)都是以数组后在序列号的方式储存到数据库中的,这样自然就不能再排序了(排序也是在数组中处理按字母什么的排序,这样也不方便),查看文件include/spacecp/spacecp_profile.php文件,我们观察到,它先获取每个大项下属的每个小项以数组的形式,然后根据小项获取每个小项的html代码(就是后面的文本框、下拉框了),我们在获取小项后在对对数组中的每个小项根据原理后台设置的排序进行再次排序,在让它获取html代码就搞定了。
步骤:打开spacecp_profile.php文件
在大概423行下面 紧贴(搜索下面代码也可) 
$htmls = $settings = array();
上面添加如下代码:
//二次开发 <<< 个人资料修改页面各选项排序问题解决 
$noorder = array('idcardtype','idcard','zipcode','sightml','customstatus','timeoffset'); 
$jiaoji = array_intersect($noorder,$allowitems); //计算两个数组的交集,不计算的话个人签名和时区不显示 
 if(empty($jiaoji)){ $query = DB::query('SELECT fieldid FROM '.DB::table('common_member_profile_setting')." WHERE fieldid IN (".dimplode($allowitems).") ORDER BY displayorder ASC"); 
 $allowitems=array(); //清空原来的小项的数组,以便对新数组排序
 while($value = DB::fetch($query)) { $allowitems[$value['fieldid']] = $value['fieldid']; } } 
 //二次开发 >>>*/
 
计算交集问题$jiaoji  是因为不过不计算的话,个人签名和地区好像不显示,交集里的其他元素我也不知道是上面懂得,反正我的效果实现了,你们看哪里有需要的地方再修改吧。
 
(二 )添加N多自定义字段
原来discu x2 自带的自定义只有8个,比如我今天不高兴,心里又比较变态,想在加几十个怎么办,在数据表里
 
(三)修改栏目名称和栏目介绍
discux 系统自带的栏目和栏目介绍是不可以修改的,我们新添添加的fieldN也是不可以修改的,要修改的话可以在数据库中一个个改,这样比较麻烦,修改方法:
打开source/admincp/admincp_members.php
搜索:
$field['customable'] = preg_match('/^field[1-8]$/i', $fieldid);
只修改我们新添加的field自定义字段可以修改栏目名称和描述的方法(把[1-8]改为\d+)
$field['customable'] = preg_match('/^field\d+$/i', $fieldid);
修改系统所有字段;
$field['customable'] = preg_match('/.*/i', $fieldid);
 
这样就可以很方便的修改栏目名称和介绍了 O(∩_∩)O~
discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍
(系统原代的学历栏目可以修改了)

discuz x2 个人资料项排序问题解决方法、添加自定义字段、修改栏目名称和介绍的更多相关文章

  1. 关于发布中报&OpenCurlyDoubleQuote;未能加载文件或程序集&OpenCurlyDoubleQuote;Newtonsoft&period;Json”或它的某一个依赖项”的问题解决方法

    遇到这个问题了,我也是醉了,开发就一个还在忙别的事情,我想想自己解决 你们遇到过吗?我在网上找到好多解决的方法,比如改webconfig文件,或者改package.config文件,都没用.但是我看到 ...

  2. dede织梦栏目页和文章页中获取当前栏目名称方法

    一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...

  3. discuz&excl;X2头像无法显示解决方法

    discuz x2刚刚发布,很多站长就迫不及待地将自己的论坛升级. 可是安装完discuz X2之后,就马上发现论坛会的头像都不见了,取而代之的是一个小红叉.会员也没有办法设置自己的头像. 各位站长们 ...

  4. Discuz&excl; X2&period;5数据库字典【转载】

    DROP TABLE IF EXISTS pre_common_admincp_cmenu; CREATE TABLE pre_common_admincp_cmenu ( `id` SMALLINT ...

  5. phpcms V9 整合 Discuz&excl; X2 教程

    整合原理: UCenter 作服务端:phpsso 与 Discuz! 分别作 UCenter 的客户端应用:phpsso 与 Discuz! 通过 UCenter 发生交互. phpcms 通过 p ...

  6. Discuz&excl; X2&period;5数据库字典&lpar;转&rpar;

    DROP TABLE IF EXISTS pre_common_admincp_cmenu; CREATE TABLE pre_common_admincp_cmenu ( `id` SMALLINT ...

  7. win8安装SQL Server 2005问题解决方法

    win8安装SQL Server 2005问题解决方法 1.正常安装任一版本的SQL Server 2005(最好安装企业版). 2.安装到SqlServer服务的时候提示启动服务失败(提示重试的时候 ...

  8. Discuz&excl; X2&period;5判断会员登录状态及外部调用注册登录框

    Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...

  9. 关于linux密码忘记问题解决方法

    最近在试装centos,不小心把密码丢了,进不去,查了一下资料,找到了方法,试验成功.存在这里,备用. 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键 2. 再次用上 ...

随机推荐

  1. salesforce 零基础学习(五十六)实现getById

    本来想通过template封装DAO中的getById,结果template中无法选择$(object_name),所以此种想法打消了,直接封装成一个Helper类,方便以后项目中如果有类似需要可以使 ...

  2. 快速入门系列--MVC--06视图

    到了View的呈现板块,感觉ASP.NET MVC的学习也进入了尾声,还是比较开心的,毕竟也有了不小收获.这部分内容相对比较简单,因为之前还专门学习过如何结合HTML5与MVC框架.前文中提到过,Ac ...

  3. WPF下YUV播放的D3D解决方案

    http://blog.csdn.net/yangyy9611/article/details/17464133

  4. 基于tomcat为了应对高并发模型实现webserver

    在博客上,一个简单的AIOweb来样加工.查看AIO异步处理,依靠操作系统完成IO操作Proactor处理模型确实很强大,它可以实现高并发.高响应server一个很好的选择,但在tomcat中间con ...

  5. 避免’sudo echo x &gt&semi;’ 时’Permission denied’

    避免’sudo echo x >’ 时’Permission denied’ 甲: 示例sudo echo a > 1.txt-bash: 1.txt: Permission denied ...

  6. Java核心技术及面试指南 JDBC部分的面试题总结以及答案

    5.5.1 你最近的项目里用到的是哪个数据?或你用过哪些数据库?或你对哪个数据库最熟悉? 通过这个问题,我们将会确认候选人是否在项目里用过数据库或JDBC. 5.5.2 你有没有建过表?或修改表里的字 ...

  7. IDEA安装与破解

    今天下午偶然在知乎上看到IDEA和eclipse的软件分析,所以装了一个IDEA,不过肯定是破解,不会购买激活码 IDEA官网:http://www.jetbrains.com/idea/ 安装教程: ...

  8. CSS 小结笔记之元素的隐藏与显示

    在网站上经常会有一些需要一定操作才会显示或隐藏的元素,这时会用到元素的隐藏与显示.主要通过以下三种属性实现. 1.display :none|block |inline |inline-block d ...

  9. Uva5211/POJ1873 The Fortified Forest 凸包

    LINK 题意:给出点集,每个点有个价值v和长度l,问把其中几个点取掉,用这几个点的长度能把剩下的点围住,要求剩下的点价值和最大,拿掉的点最少且剩余长度最长. 思路:1999WF中的水题.考虑到其点的 ...

  10. 常见web漏洞

    常见的web漏洞——文件上传漏洞 一.文件上传漏洞概述    文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力.这种攻击方式是最为直接和有效的,有时候几乎没 ...