discuz X2二次开发帮助文档
Discuz!X2主题、帖子分表-电脑资料
Discuz!X2主题、帖子分表-电脑资料
对于大型站点,庞大的主题和帖子数据,分表放到一个主题表和一个帖子表中,已经成为影响性能的一个因素,。
因此,急需进行分表操作来避免MySQL 对于大数据表的频繁操作。
1、后台分表
Disucz! X2 后台重新调整了分表的机制,使得分表效率和后期站点性能得到提升。
具体分表设置在后台 -> 站长 -> 主题分表(帖子分表)。
1)主题分表
主题分表分为两种类型,一种为主表,一种为存档表,
电脑资料
《Discuz! X2 主题、帖子分表》(https://www.)。
主表只有一个,存档表可以有多个。
我们进行分表操作,首先进行创建存档表的操作,然后进行主题移动,将指定条件的主题移动到存档表中。
a、创建存档表
打开 source/admincp/admincp_threadsplit.php 文件,找到创建存档表的条件分支
elseif($operation == 'addnewtable')。
完美去除discuz x2底部版权和去掉头部
完美去除discuz x2底部版权和去掉头部“powered by discuz!”(慎用)discuz x2自发布以来很多网友希望能够去掉discuz版权,其实做二次开发代码也要考虑discuz既然开放给大家使用了,大家也厚道一点,起码保留一下版权,这是尊重知识产权的基本原则吧。
站在网友的立场上本人放出详细去discuz版权的教程,也可以说是完美去版权了。
最后提醒大家“慎用!”如有网友侵权引起纠纷,与本人无关,我只是站在技术角度去二次开发。
谢谢配合!一、去除头部版权在原来的discuz X2版本中,标题中去掉“Powered by Discuz!”版权标识很容易,只需要修改模板文件的头部公用文件,将“Powered by Discuz!”这一行字去掉即可。
但是discuz X2 似乎对这点有所防备,把-Powered by Discuz!中的-放在了变量里,所以删除后,标题一句话结束后会有一个小-尾巴,对搜索引擎很不友好,所以也有一个好的办法完美解决,即:打开\template\default\common\header_common.htm文件,找到<title><!–{if !empty($navtitle)}–>$navtitle –<!–{/if}–><!–{if empty($nobbname)}–> $_G['setting']['bbname']-<!–{/if}–>Powered by Discuz!</title>将其中的“Powered By Discuz!”字串改为“{lang secondtitle}”。
再打开source/language/lang_template.php。
在变量的最后,也就是整个数组的目录后按以前的格式,加上“‘secondtitle’=> ‘你的论坛名称!”,”。
二次开发手册
二次开发手册随着科技的不断发展,软件已经成为人们日常生活和工作中不可或缺的一部分。
为了满足用户对软件功能的需求,开发者经常需要进行二次开发。
本手册旨在为二次开发者提供一套完整、实用的指南,帮助其更好地进行软件二次开发工作。
1.二次开发的基本概念二次开发是指在已有软件的基础上,根据用户需求进行功能扩展、改进或定制的过程。
通过二次开发,可以充分利用已有软件的优点,提高软件的功能性和易用性。
2.二次开发的流程二次开发的流程包括需求分析、设计、编码、测试和部署等阶段。
其中,需求分析阶段是关键,需要充分了解用户需求,确定二次开发的具体内容和目标。
设计阶段需要对系统架构、数据库结构、界面设计等进行详细规划。
编码阶段需要按照设计要求进行编码实现。
测试阶段需要对二次开发的功能进行全面测试,确保其符合预期要求。
部署阶段需要对二次开发的软件进行部署和上线。
3.二次开发的技术实现在进行二次开发时,需要了解和掌握相关的技术实现。
例如,对于Web应用程序的二次开发,需要了解HTML、CSS、JavaScript等前端技术,以及后端语言如Python、Java等。
对于移动应用程序的二次开发,需要了解iOS或Android平台的开发技术。
此外,还需要了解数据库技术、版本控制技术等。
4.二次开发的常见问题及解决方案在进行二次开发时,可能会遇到一些常见问题,如兼容性问题、性能问题、安全性问题等。
针对这些问题,需要采取相应的解决方案。
例如,对于兼容性问题,需要进行充分的测试和调优;对于性能问题,需要进行性能分析和优化;对于安全性问题,需要加强安全措施和防范措施。
5.案例分析为了更好地说明二次开发的实践过程,本手册提供了几个案例分析。
这些案例涵盖了不同领域和不同规模的二次开发项目,通过分析这些案例的成功经验和问题所在,可以为读者提供宝贵的启示和帮助。
通过这些案例的分析和学习,读者可以更好地理解二次开发的实践操作和关键要点,为自己的二次开发工作提供指导和实践经验借鉴。
二次开发技术文档
二次开发技术文档了解系统结构程序为MVC 3层结构,模型/ 视图/ 控制器。
●模型是前后台公用。
完成业务逻辑,所有的数据库操作,文件等资源调用,都由此层实现。
●控制器则是前后台独立。
负责业务模型的调用,拼接,变量的转换等等。
●视图层采用类似smarty的实现。
在任何时候都有一个全局变量$system指向唯一的一个内核类:core/kernel.php控制器负责所有的变量的转换,包括对外界的变量转换。
像胶水一样粘合各个业务model,并在其中的数据交互过程中做一些数据转换过程。
最终将变量抛到模板层。
模板层负责编译成html输出,这里我们创建了大量的smarty插件来减少开发者的重复工作量。
结构图公共类图公共函数库公共函数库位于/core/func_ext.php,它在内核加载时首先被加载,对全系统有效。
其中包含若干php5函数的php4模拟版本:●file_put_contents●json_encode●json_decode●ftp_chmod●array_diff_key●http_build_query运行过程商派Commerce B2B标准版前后台调度都分别通过各自目录下一个名为index.php的入口文件进行,入口文件接受控制器、方法等的输入参数,调度给对应的控制器方法执行并输出结果。
index.php会调用kernel。
Kernel基础类提供模型对象加载,插件入口,错误处理,设置管理,输入输出,第三方类库加载等基础服务。
前后台及安装入口程序在初始化时,都会初始化一个对应的内核类,这个类在前台是shopCore.php,后台时是adminCore.php。
这两个文件都是继承core/kernel.php文件。
该内核类首先会形成一个名为system的指向自身的全局对象,然后根据传入参数调用对应的控制器方法运行。
控制器层与模型层都会产生对该全局system对象的调用来使用基础服务。
并且控制器和模型层在自身被实例化之后都可以使用$this->system来引用内核对象。
DISCUZX系列二次开发帮助文档
目录+文件篇:| -- admin.php 管理员入口| -- api.php 接口文件| -- category.php 分类入口| -- cp.php 个人资料设置入口| -- crossdomain.xml FLASH跨域传输文件| -- favicon.ico 系统icon图标| -- forum.php 广场入口| -- group.php 群组入口| -- home.php 空间入口| -- index.php 首页入口| -- ivite.php 邀请处理文件| -- member.php 用户处理文件| -- misc.php 杂项处理文件| -- plugin.php 插件处理文件| -- portal.php 站点首页入口同 index.php| -- robots.txt 搜索引擎蜘蛛限制配置文件| -- search.php 搜索入口文件| -- userapp.php 用户应用、游戏、漫游入口文件| -- static 系统用到的图片包| -- template 系统总模板目录| -- uc_client ucenter客户端程序| -- uc_server FULL版本中ucenter服务端| -- api 接口文件夹| -- api -- db| -- api -- db -- dbbak.php 接口调用中用到的数据库备份文件,内涵数据库类| -- api -- javascript -- advertisemen.php 广告调用接口| -- api -- javascript -- javascript.php js调用接口| -- api -- manyou 漫游平台调用接口文件夹| -- api -- manyou -- class 漫游接口中需要用到的类的文件夹| -- api -- manyou -- Manyou.php 漫游接口文件| -- api -- manyou -- my.php 继承与manyou.php,用来执行更新用户资料的借口文件| -- api -- mobile 移动手机设备接口文件夹,这个文件夹中包含了大量的用户手机浏览器客户端显示的模板和执行文件。
织梦dedeCMS二次开发文档手册
DedeCMS二次开发必备基础:•非常熟悉HTML•熟悉DIV+CSS的布局•扎实的PHP基础,熟悉结构化编程,了解OOP,并能看懂和使用•熟悉MYSQL,掌握SQL语言DedeCMS二次开发学习过程•理解CMS是什么•熟悉DedeCMS的功能(如:栏目的分类,文档管理,模型的使用,系统的设置等常用的功能)•掌握DedeCMS的模板标签使用及原理•DedeCMS目录结构分析熟悉每个文件夹里面主要装什么文件,这样在二次开发的时候知道在哪个文件夹下的什么文件修改目录结构摘要:./a 生成文件存放路径./data 缓存文件及数据中心/admin 管理后台数据/backupdata 备份数据/cache 缓存文件/enums 级别联动数据,JS,枚举类型的缓存文件/js 常用的JS/mark 水印相关文件/module 模块安装文件/rss Rss相关/sessions Session 存放路径/textdata 文本数据/tplcache 模板缓存/uploadtmp 上传文件缓存位置/ziptmp zip包解压缓存位置……•DedeCMS文件结构分析熟悉每个文件的基本功能,方便做修改,知道每个文件的大概作用之后,可以方便的对文件进行修改文件结构摘要:common.inc.php 数据库配置文件config.cache.bak.php 后台系统配置备份config.cache.inc.php 后台系统配置文件缓存downmix.data.php 采集混淆缓存文件mysql_error_track.inc MYSQL错误��志safequestions.php 安全问题sitemap.html 站点地图sys_pay.cache.php 支付网关配置template.rand.php 随机模板设置……•DedeCMS数据库结构分析,至少要熟悉每个表的作用熟悉每个表的作用,了解几个核心表的设计及字段的含义,方便拿到新的需求之后,能快速的判断是否加字段,还是新建表来处理。
WindChill二次开发的说明文档
Suggest Like Google Suggest User Picker Part Number (Tabular Input)
Full Name:
Kni
Find…
Knight, Jenny (JKnight@) Knight, Jonathon (JKnight@ ) Knight, Thomas (TKnight@) Knight, William (Willy.Knight@) Knitter, Monica (Monica.Knitter@)
15
PTC CONFIDENTIAL
What is AJAX
AJAX is
A scripting technique for silently loading new data from the server.
commonly use . . . XMLHttpRequest object requires a DOM Scripting component to embed the received data in the document.
5
PTC CONFIDENTIAL
JCA Update – AJAX
Infrastructure use of AJAX to date
Add row to table – no page refresh Partial page refreshes on single row update/delete e.g. checkin Partial page refresh on table view change Wizard speed & usability – background download of pages Part look up – auto complete Dynamic menus
Discuz!X2 插件入门制作教程(二)-(管理中心)
系统常量
DX 里面对一些常量做了自己的定义,接下来的表格列举了,更多的变量可以使用附录里的
代码获得。
常量名
说明
DISCUZ_ROOT
网站的根目录
TIMESTAMP
程序执行的时间戳
CHARSET
程序的语言编码类型
IS_ROBOT
是否是机器访问
FORMHASH
HASH 值
全局变量
DX 的全局变量事实上全部压缩到了一个变量:$_G 里面,接下来的表格列举了常用的$_G
1. 您的网站或者测试站点可以正常使用 2. 您对 PHP 有基本的了解 3. 您对数据库有着基本的了解
复制代码
一旦您满足了上面的要求,那么您可以来了解 DX 的插件制作了。
网站的基本数据
在 DX 的这个框架中,我们会经常用到一些使用的数据,这些数据包括:系统常量、全局变
量、系统调用 ,首先我们从系统常量说起
1. 查看全部常量: 1. <?php 2. require_once './source/class/class_core.php'; 3. require_once './source/function/function_home.php'; 4. $discuz = & discuz_core::instance(); 5. $discuz->init(); 6. print_r(get_defined_constants()); 7. ?>
按照要求填写
搜海口论坛
填写好之后,就可以来添加管理中心的设置文件了,这里要注意:你的标识符一旦确定 就不能修改!并且,你所写的程序文件都应该放在:source/plugin/标识符/ 这个文件夹下 面,例如我们要设置下图的程序,文件:admincp.inc.php 应该放在该目录下即可。
discuzx二次开发
服 务
程序调试技巧
调试技巧
找到程序确切路径
Ø 使用firebug 使用firebug Ø get_included_files
断点法
Ø echo 和 exit Ø 结合二分法,确定程序运行的大概位置 结合二分法,
调用堆栈
Ø print_r 结合 debug_backtrace
DIY模块的机制 DIY模块的机制
DIY模块的分类在 DIY模块的分类在source/class/block 模块的分类在source/class/block 目录下。 目录下。 block_*.php是每个 block_*.php是每个DIY模块调用的类。 是每个DIY模块调用的类 模块调用的类。 可自主开发自己的调用类,DX会扫描文件 可自主开发自己的调用类,DX会扫描文件 夹来识别类。需要更新缓存。 夹来识别类。需要更新缓存。
$log = "$sql\r\n"; foreach(debug_backtrace() as $v){ if(empty($v['file']) || empty($v['line'])) continue; $log .= "$v[file]: $v[line]\r\n"; } $log .= "\r\n"; $fp = fopen('sql.sql', 'a'); fputs($fp, $log); fclose($fp);
DIY模块 DIY模块
DIY模块 DIY模块
DX的DIY模块可以很方便地调用出DX的 DX的DIY模块可以很方便地调用出 模块可以很方便地调用出DX的 模块的数据。 模块的数据。 DIY模块而且可以任意拖拽位置 DIY模块而且可以任意拖拽位置。 模块而且可以任意拖拽位置。 DIY模块使用统一的数据读取接口对各个模 DIY模块使用统一的数据读取接口对各个模 块进行读取(getdata方法 方法) 块进行读取(getdata方法)
DiscuzX插件机制开发文档及实例201311整理(官方资料)
Discuz! 的插件机制准备工作| 插件接口| 参数读取| 页面嵌入| 插件嵌入点列表| 特殊主题|第三方拓展类| 其它模块| 安装卸载升级| 模板和语言包| 注意事项| 插件开发实例准备工作插件实现流程开始编写社区插件,您应当首先对插件实现的流程有一个大致的了解,以下是我们推荐的插件编写流程:∙熟练使用 Discuz! 社区系统后,对希望完善或补充的个性化功能进行评估,进而提出插件的功能需求。
∙对插件做一个概括性的设计,例如:需要使用什么菜单、什么参数,配置哪些选项、数据结构如何设计、前后台实现哪些功能等等。
∙阅读本文档并在系统设置中实际体验 Discuz! 插件接口所实现的功用,例如:您的插件应当如何设计才能良好的挂接到社区系统中来。
插件接口能够实现哪些功能、不能实现哪些功能,插件为此而需要做的优化、改造和取舍。
∙编写相应程序代码和模板语句,实现所需的功能并进行代码测试、兼容性测试和代码改进。
∙如果需要公开您的插件,可以用插件导出的方式,将插件配置信息导出到一个 XML 文件中,连同相应的程序和模板文件一同打包。
同时,编写一个适合新手的插件的说明书也是必不可少的,其中包括:插件适用的 Discuz!版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等等。
∙将插件提供给他人,或自己使用,根据使用者反馈,对插件进行完善。
插件实现流程至此结束。
文件命名规范Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范:∙可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名。
∙被普通程序文件引用的程序文件,以 .inc.php 后缀命名。
∙被普通程序文件,或引用程序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
∙模板文件,以 .htm 后缀命名,插件模板文件存在于 source/plugin/identifier/template/ 目录中,手机版插件模板存在于 source/plugin/identifier/template/mobile/目录中∙模板语言包文件,以 .lang.php 后缀命名,插件语言包文件开发时存放于 data/plugindata/ 目录中,文件名为ng.php。
Discuz!X2_全功能介绍.
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
Discuz!X2功能介绍——运营拓展
5:图片帖模式
➢ 版块支持以图片模式浏览帖子
用户可以切换浏览模式
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
Discuz!X2功能介绍——运营拓展
站长可以设置 记录随 机提示语
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
Discuz!X2功能介绍——运营拓展
30:家园、群组、门户自由开关
站长可以随意开启/关闭 家园、群组、门户的功能
关闭门户后,首页及文章功 能将无法使用,除门户外其 它模块及页面还是可以使用
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
Discuz!X2功能介绍——运营拓展
12:评分扣除自身积分
➢ 评分支持会员评分时“扣”自己的积分
站长可以设置用户 评分是系统积分还
是自身积分
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
6:回帖奖励
➢ 全新的帖子埋红包,回帖自动送奖励帖子模式
可以设奖置励每的次次回数帖及奖中励奖的机的显积率积示分分帖数子数为量回及帖人奖次励、及中奖奖励率
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
comsenz
Discuz!X2功能介绍——运营拓展
7:版块关联
➢ 版块支持显示其他版块、群组帖子功能
北京市海淀区上地三街九号 嘉华大厦B座1108室 (100085)
二次开发文档介绍
二次开发文档介绍
一、程序简介二次开发文档是一种软件开发中常用的技术文档,它主
要是为了提供给程序的开发人员更加详细的程序规范、开发工具、程序架
构以及相关的详细说明等等,为程序开发人员提供统一的开发指南。
二、
二次开发文档的内容1、程序的结构说明:主要包括程序的整体架构、流
程模型、功能模型、数据模型等;2、程序的功能说明:主要描述程序实
现的功能及其功能性;3、程序的开发工具:主要说明程序开发所需要使
用的相关工具,以及如何使用;4、程序开发环境:主要介绍程序开发所
需要的软件环境、配置及相关文件;5、接口文档:主要包括程序与其他
程序、数据库之间的接口文档;6、安全文档:主要包括程序的安全设置、安全策略等;7、测试文档:主要包括程序的测试计划、测试环境、测试
用例、测试方法等。
三、二次开发文档的用途二次开发文档主要作为技术
文档使用,有助于程序开发过程中的更高级功能模块的把控和控制,在把
控这个模块的各个方面的同时,也能帮助开发人员更快的完成程序的开发、测试和维护等等。
discuz_X2二次开发入门手册-绝对推荐
相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。
我只是整理,不是自己原创编辑的,所有权归原创作者所有哦。
Tips:Q:针对说明的文件是?A:我只基于原版文件对upload目录中基本的程序文件(php,htm,js,除了极少数无关紧要的)进行解释,其余文件(如图片文件),一般不做说明Q:某些目录下空白的index.htm是用来做什么的?A:用来防止列目录的Q:文件名颜色和标识的意义是?A:粗体表示这个文件比较重要,除非你非常了解其功能,否则修改错误会导致全站瘫痪;斜体表示这个文件已被加密,一般情况下修改没有意义;下划线表示这个文件一般99.99%的修改是用不上的,了解即可绿色的是函数库文件,蓝色的是常量调用文件,红色的是系统全局核心文件Q:文件名命名有什么特别规律吗?A:有的,一般inc的是调用文件,func是函数库文件,class是库文件,lng的是语言包文件,了解这些后缀能快速掌握文件功能。
Q:我看了你的帖子,可是我还是看不懂文件内是什么意思啊?A:这个嘛,还是要有一定基础了,一般掌握SQL,PHP和Htm你就可以去改文件做你要的功能了,这个不是我的任务了哦。
一般来说,如果随便指个地方,你能在1分钟内说出大概位置及所在的文件,那么你基本就算合格了。
不过我个人认为最重要的还是多改多读,在实践中提高自己的能力下面开始了,请看你的upload目录里面的文件,表述的格式依次为文件名,功能描述等等先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中admin.php 系统站点管理入口文件api.php Discuz!合作应用入口文件(例如漫游、支付宝什么的都走这里)connect.php QQ互联入口文件cp.php 应用入口文件crossdomain.xml 数据交互文件,如果在里面定义其它站点的地址,那么这两个不同站点就可以交互数据favicon.ico图标文件,显示在浏览器的标题栏forum.php 论坛入口文件group.php 群组入口文件home.php 家园入口文件index.php 功能与portal.php基本相同member.php 用户信息入口文件misc.php 网站用户常用操作入口文件,例如像评分、收藏等功能都是走这个文件的plugin.php 插件入口文件portal.php 门户入口文件robots.txt在这个文件中加上具体的地址,可以防止被搜索蜘蛛检索到search.php 搜索功能入口程序userapp.php 用户应用入口程序API目录中的文件主要是和Discuz!进行合作的商家的应用程序,一般不要也无需修改,这里不多说明。
二次开发接口资料文档
接口开发文档一、开发包目录结构1.1demo 文件夹包含了s dk 接口调用源代码,可供二次开发参考。
使用C++开发的M FC 程序。
1.2dll 文件夹包含了二次开发所需的所有动态库,demo 编译好的e xe 文件需要放在该文件夹内才可以运行。
1.3include 文件夹包含了二次开发所需要的头文件。
1.4lib 文件夹包含了二次开发所需要的l ib 静态库。
1.5DSS 二次开发指南(C++).pdf指导二次开发用户如何新建V S2005 工程运行d emo 文件夹中的d emo。
1.6Version.xmldpsdk 开发包的程序版本信息。
1.7常见问题解答.pdf二次开发常见问题以及解决方式。
1.8大华平台S DK 开发手册(C++版).chm二次开发接口使用说明。
二、术语和缩略语1、D PSDK:DSS 平台二次开发S DK 包2、C MS:中心管理服务3、D MS:设备管理模块4、d emo:程序示例(功能类似D SS 平台客户端)5、w eb 管理员端:在浏览器中输入D SS 平台的i p 即可打开管理员端6、C ameraID:通道i d,形如:10000010$1$0$07、D eviceID:设备i d三、Demo 操作方法3.1 运行d emo把“demo/bin/”目录下面的3个文件,如下图所示拷贝到“dll”文件夹下面,运行Test_DPSDK_Core.exe。
3.2 登陆平台图 1 登陆界面登陆界面如图 1 所示,其中: IP:DSS 平台ip 地址;端口:9000;用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。
点击“登录”按钮,登陆平台。
登陆成功的界面如图2所示:123图2主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。
3.3 主界面功能介绍3.3.1、组织树操作步骤:点击“加载所有组织结构”按钮加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。
Discuz二次开发手册
Discuz文件说明,有助于discuz爱好者,进行自己的开发,在这里提供方便admincp.php——后台系统设置主程序文件,一般只处理菜单的显示的访问权限,不处理管理控制。
ajax.php——论坛模板的ajax 判断及数据返回都在这里进行attachment.php——附件文件,仅仅处理附件下载的功能。
announcement.php——论坛公告的显示,一般很少改config.inc.php——配置论坛数据库、密码等信息,这个大家最熟悉了discuz_version.php——论坛版本信息,用来更新用的,没有官方说明绝对不要修改eccredit.php——论坛商品功能以及信用度查看的处理文件faq.php——论坛自带的帮助favicon.ico——显示在IE 标题栏的的图标forumdisplay.php——很简单,论坛主题列表的显示index.php——控制首页元素显示invite.php——论坛邀请注册程序文件leftmenu.php——首页侧栏文件logging.php——登陆系统,判断用户名、密码。
magic.php——论坛道具程序文件,处理道具购买、赠送等操作medal.php——论坛勋章中心程序文件,处理勋章发送等功能member.php——控制会员列表显示,积分策略等等信息显示memcp.php——会员个人中心显示misc.php——控制评分功能、论坛界面显示功能等等modcp.php——这个是论坛前台的版主操作的迷你后台程序my.php——查看一切和自己在这个论坛的行为,例如“我的帖子”,“用户组权限”等等plugin.php——论坛插件,这个主要控制论坛插件的菜单的显示,一般极少修改pm.php——论坛短信息程序,控制短信息发表与浏览post.php——与viewthread.php 相似,但是更多是管理帖子发表、编辑等等信息,也会有权限的控制提示redirect.php——控制显示论坛的最后发表的主题访问,也控制主题的转向功能register.php——注册文件,同时也会控制注册的信息的合法性relatekw.php——论坛相关标签生成relatethread.php——论坛相关主题robots.txt——设置里面的地址可以阻止搜索机器人访问对应的页面rss.php——RSS 快速订阅,不用多说了吧?search.php——处理论坛搜索功能中的信息筛选seccode.php——论坛注册,生成验证码的程序sitemap.php——论坛SiteMAP 功能程序space.php——个人资料查看的程序stats.php——处理“统计”中的统计信息,也允许查看论坛对应的统计数据----------------------- Page 2-----------------------tag.php——论坛标签整理页task.php——论坛任务程序,任务主程序触发,判断均在此进行topic.php——一般无法直接访问,控制页面显示,显示主题条数topicadmin.php——控制的是管理人员的前台管理操作,如精华、置顶、高亮等等trade.php——处理论坛的交易主题video.php——处理论坛的视频主题,包括显示和调用。
DiscuzX帮助文档
Discuz X帮助文档(官方发布)目录一门户DIY社区信息聚合更加专业和个性 (2)二管理团队社区日常管理更加细化和安全 (9)三专题制作将社区的同一个话题最方便的展示 (11)四频道域名社区内容分布尽显专业和规范 (13)五积分管理社区统一的用户成长发展体系 (15)六seo设置提高网站搜索引擎权重和流量 (16)七二次开发教你识别程序目录和文件列表 (17)八主题评价更加直观直接表明会员的观点 (43)九装扮空间让会员尽情和积极地装扮自己 (45)十帖子分表给社区服务器进行有效地减负 (54)十一资讯发布提升站点信息的权威性和层次 (56)十二用户栏目让会员的资料都是”你“想要的 (60)在5月19号,备受期待的Discuz X第一个正式版本发布了,新产品发布相信很多人都摸不着头脑,根据官方发布的信息,我总结搜集了一些基本材料,希望能帮到使用初期的Coder。
`作为一款以社区为基础的专业建站平台,Discuz!X1社区平台系统让论坛(BBS)、社交网络(SNS)、门户(Portal)、群组(Group)、开放平台(Open Platform)充分融合于一体,帮助网站实现一站式服务。
一门户DIY社区信息聚合更加专业和个性门户是整合站点精品信息并以一个统一的界面展示的信息平台,是一个网站的门面。
通过门户展示的内容可以让用户了解网站的风格,定位,并进一步点击链接访问网站更多内容。
通过门户功能可以发布文章资讯,通过模块可以聚合包括会员、帖子、日志、图片、附件等各类站内信息。
论坛的帖子、UCHome的日志,都可以直接推送到门户的文章库里面。
Disucz!X1的门户系统灵活而强大,站长可以通过DIY功能聚合网站包括会员,帖子,日志、图片等信息,并以多种样式展示;也可以自己发布文章,管理资讯频道;还可以通过DIY功能将有相同主题的内容聚合在一个专题页面。
下面我们主要讲解如何使用DIY功能。
DIY自己的首页,建立框架是第一步。
二次开发培训教程
二次开发培训教程一、引言二次开发是指在已有软件的基础上进行功能扩展或改进,以满足用户特定需求的一种开发模式。
在实际的软件开发过程中,二次开发可以大大提高软件的定制性和适用性,同时也能为软件的推广和应用提供更多的可能性。
因此,二次开发技能已经成为了软件开发领域中必不可少的一部分。
本教程将介绍二次开发的基本概念、工具、技术和实现方法,帮助读者快速入门并掌握二次开发的相关技能。
二、二次开发的基本概念1. 二次开发的定义二次开发是指在原有软件基础上进行功能扩展或改进的一种软件开发方式,常用于定制化开发或适应特定需求的软件开发过程中。
2. 二次开发的分类根据二次开发的目的和方式,可以将其分类为插件开发、定制化开发和接口开发等几种类型。
其中,插件开发通常是指通过开发插件或扩展,为原有软件增加新的功能或功能模块;定制化开发则是指根据用户特定需求对软件进行定制开发,满足用户个性化需求;而接口开发则是指通过开发接口或SDK,实现与其他系统的集成或对接。
三、二次开发的工具和技术1. 二次开发的常用工具常见的二次开发工具包括IDE(集成开发环境)、文本编辑器、调试工具、版本控制工具等。
在实际开发过程中,可以根据具体的开发需求和技术框架选择合适的开发工具。
2. 二次开发的常用技术常见的二次开发技术包括脚本语言、面向对象编程语言、Web开发技术等。
在实际开发过程中,可以根据具体的开发需求和软件架构选择合适的开发技术。
四、二次开发的实现方法与步骤1. 了解原有软件结构在进行二次开发之前,首先要了解原有软件的结构和功能,包括核心模块、接口和数据交互等,以便确定二次开发的具体目标和范围。
2. 确定二次开发需求根据用户的具体需求和软件的现状,确定二次开发的具体需求和目标,明确二次开发的功能模块和实现方式。
3. 选择合适的开发工具和技术根据二次开发的具体需求和软件的技术框架,选择合适的开发工具和技术,为二次开发提供技术支持和开发环境。
二次开发培训文档
二次开发培训文档一、ECOLOGY系统框架结构1、主要的程序结构EcologyClassbean 存放编译后的CLASS文件js 系统中使用的JA V ASCRIPT和VBSCRIPT脚本Css 系统中JSP页面使用的样式ImagesImages_faceImages_frame 系统中使用的图片的存放目录Crm..Workflow 该功能分文件夹存放每个功能的文件WEB-INFProp 系统配置文件存放Service 系统的接口配置文件的存放二、说明一个JSP页面,一个JA V A程序的基本组成,如何阅读JSP页面1、一个jsp页面通常需要包含什么内容2、如何阅读一个JSP页面由于ECOLOGY系统支持多语言,因此在JSP页面上一般不出现中文,全部使用标签的形式来显示中文:比如:在IE上显示“姓名”那么在JSP页面中将通过<%=SystemEnv.getHtmlLabelName(413,user.getLanguage())%>这样的形式来表示,其中的数字413就是表示姓名,同时可以通过“select labelname from htmllabelinfo where indexid=413 and languageid=7”来获取到“姓名”这个显示名称,其中languageid=7表示中文显示名称,languageid=8表示英文显示名称.3、JA V A程序的基本组成在ECOLOGY中开发JA V A程序建议继承weaver.general. BaseBean,在BaseBean 中主要封装了两个方法:写日志文件,获取配置文件中的参数值。
三、几个常用的底层类的说明最基本的底层类,数据库操作类,上传下载文件,如何构建缓存,基本的工具类Ecology系统底层包开发指南.doc四、页面权限控制的说明,怎样在页面中引用权限,怎么样新增一个权限,如何在新开发的模块上引入权限控制在这一部分将描述:新增的页面如何保持和ECOLOGY的风格保持一致;新增的页面上引用ECOLOGY中的权限;新增的页面上引用新的ECOLOGY中还没有的权限;1、可以根据<泛微协同商务系统(Ecology)_JSP式样编写指南>保证新开发的页面在风格上和原有系统保持一致泛微协同商务系统(Ecology)_JSP式样编写2、使用ECOLOGY分页控件实现数据的分页显示泛微分页控件使用帮助及规范.doc3、引用系统中的权限首先从系统的权限设置中找到需要引用的权限名称,如下如找到“地址类型维护”这个权限,其ID为41,然后通过“select rightdetailfrom systemrightdetail where rightid=41”得到其rightdetail=“AddAddressType:Add”,那么在JSP页面中通过如下语句,就可以使得只有的“地址类型维护”这个权限用的用户可以查看该页面<% if(!HrmUserVarify.checkUserRight("AddAddressType:Add ", user) ) {response.sendRedirect("/notice/noright.jsp");return;}%>4、新增新的权限控制新功能的查看新增功能模块添加权限控制.d o c五、系统的人员组织结构的介绍1、主要数据结构HrmResource(人员基本信息表).doc HrmSubCompany(分部信息表).docHrmDepartment(部门信息表).doc2、如何从缓存中获取人员信息(对三个缓存的简单介绍)六、对流程,文档数据的存放说明(主数据,明细数据,一般信息等在数据库中如何存放,主要为了考虑报表的问题)1、文档的主要数据结构文档信息的主要存储表DOCDETAIL:文档信息存储表,主要存放文档的基本信息DOCDETAILCONTENT: 文档内容存放表(如果是ORACLE数据库,如果文档的类型是HTML文档,那么文档内容存放在该表中,SQLSERVER数据库不用该表)DOCIMAGEFILE:文档,附件关联表,此表记录文档和附件(WORD,EXCEL格式文档在数据库中按照附件格式存放)的关系(即一个文档关联了几个附件)IMAGEFILE:附件路径存放表,此表记录了文档的附件(或者WORD,EXCE)存放在文件服务器上的位置DOCSHARE:文档共享表SHARINNERDOC:文档共享明细表,此表存放了该表具体共享给那些用户了DocDetail.doc ImageFile.doc DocImageFile.doc shareinnerdoc.docDocShare.doc2、流程的主要数据结构这里主要介绍流程的数据存放结构及如果通过流程类型获取到流程的字段信息,流程的载体分为表单和单据两类,表单和单据的区别在于:所有使用表单的流程数据存放在同一个表中,而单据每个单据对应着一张独立的数据表1、表单一、对于表单而言流程的数据信息存放在三个数据表中Workflow_requestbase:该表存放了流程的基本信息:标题,创建人,创建时间,流程类型等等Workflow_form:该表存储了流程的具体信息通过REQUESTID字段和Workflow_requestbase表关联Workflow_formdetail:该表存放了流程的明细信息,同样通过REQUESTID字段和Workflow_requestbase表关联二、通过流程的类型如何获取该流程使用了Workflow_form和Workflow_formdetail表中哪些字段在Workflow_form和Workflow_formdetail表中存放了大量字段,所有使用表单的流程的字段都在这两个表中,如何获取每个流程使用了那些字段呢?A、找到流程的类型ID,假定为wfidB、找到流程用了哪个表单select formid from workflow_base whereid=wfid and isbill=’0’C、获得该表单用到了哪些主字段:select(select fieldlable from workflow_fieldlable where workflow_fieldlable.fieldid=workflow_formfield.fieldid and langurageid=7andworkflow_fieldlable.formid=workflow_formfield.formid)as name,(select fieldname from workflow_formdictwhere id=fieldid)from workflow_formfield whereformid=上面获取的FORMID and (isdetail is null orisdetail=’’)哪些明细字段:select(select fieldname fromworkflow_formdictdetail where id=fieldid)fromworkflow_formfield where formid=上面获取的FORMID andisdetail=’1’2、单据对于表单而言流程的数据信息存放在三个数据表中Workflow_requestbase:该表存放了流程的基本信息:标题,创建人,创建时间,流程类型等等Workflow_form:该表只存放Workflow_requestbase和单据表之间的关系信息各单据主表:该表存储了流程的具体信息通过REQUESTID字段和Workflow_requestbase表关联,如何获取该表呢:A、找到流程的类型ID,假定为wfidB、找到流程用了哪个单据select formid form workflow_basewhere id=wfid and isbill=’1’C、通过单据ID可以获取到该单据使用的字段Select * from workflow_billfield where billid= formidD、通过单据ID找到其用了那个表存储流程主信息,那个表存储流程明细信息select tablename from workflow_bill where id= formidselect tablename from workflow_billdetailtablewhere id= formid各单据主明细表:该表存放了流程的明细信息,同样通过REQUESTID字段和Workflow_requestbase表关联3、流程的其他信息表结构流程处理人情况表Workflow_currentoperator:此表存储了流程当前未操作者,已操作者等信息workflow_requestlog 流程处理意见表:此表存储了流程处理人处理过的审批意见workflow_requestviewlog 流程的查看日志workflow_requestbase.doc workflow_bill.doc workflow_base.doc workflow_currentoperator.docworkflow_requestLog.doc七、如何新建,定制一个客户化的单据新建单据的好处,在于可以比较容易到把新建单据表中的信息和其他信息进行一些必要的操作八、系统已经有可开发的接口的培训1、短信接口可以通过该接口实现其他短信网关或者硬件短信设备进行在OA中发送短信的操作通用短信接口实现方式及使用说明.doc2、单点登录接口ECOLOGY提供了通过用户映射和模拟其他系统登录窗体的方式实现多系统之间的单点登录接口Ecology系统接口指南---单点登录篇.doc3、数据源和计划任务接口在ECOLOGY系统中,可以定义多个其他系统的数据连接,通过该连接可以和其他系统的数据库直接连接,同时也可以设置“计划任务”,系统根据设置定时制定执行设定的计划。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。
我只是整理,不是自己原创编辑的,所有权归原创作者所有哦。
Tips:Q:针对说明的文件是?A:我只基于原版文件对upload目录中基本的程序文件(php,htm,js,除了极少数无关紧要的)进行解释,其余文件(如图片文件),一般不做说明Q:某些目录下空白的index.htm是用来做什么的?A:用来防止列目录的Q:文件名颜色和标识的意义是?A:粗体表示这个文件比较重要,除非你非常了解其功能,否则修改错误会导致全站瘫痪;斜体表示这个文件已被加密,一般情况下修改没有意义;下划线表示这个文件一般99.99%的修改是用不上的,了解即可绿色的是函数库文件,蓝色的是常量调用文件,红色的是系统全局核心文件Q:文件名命名有什么特别规律吗?A:有的,一般inc的是调用文件,func是函数库文件,class是库文件,lng的是语言包文件,了解这些后缀能快速掌握文件功能。
Q:我看了你的帖子,可是我还是看不懂文件内是什么意思啊?A:这个嘛,还是要有一定基础了,一般掌握SQL,PHP和Htm你就可以去改文件做你要的功能了,这个不是我的任务了哦。
一般来说,如果随便指个地方,你能在1分钟内说出大概位置及所在的文件,那么你基本就算合格了。
不过我个人认为最重要的还是多改多读,在实践中提高自己的能力下面开始了,请看你的upload目录里面的文件,表述的格式依次为文件名,功能描述等等先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中admin.php 系统站点管理入口文件api.php Discuz!合作应用入口文件(例如漫游、支付宝什么的都走这里)connect.php QQ互联入口文件cp.php 应用入口文件crossdomain.xml 数据交互文件,如果在里面定义其它站点的地址,那么这两个不同站点就可以交互数据favicon.ico图标文件,显示在浏览器的标题栏forum.php 论坛入口文件group.php 群组入口文件home.php 家园入口文件index.php 功能与portal.php基本相同member.php 用户信息入口文件misc.php 网站用户常用操作入口文件,例如像评分、收藏等功能都是走这个文件的plugin.php 插件入口文件portal.php 门户入口文件robots.txt在这个文件中加上具体的地址,可以防止被搜索蜘蛛检索到search.php 搜索功能入口程序userapp.php 用户应用入口程序API目录中的文件主要是和Discuz!进行合作的商家的应用程序,一般不要也无需修改,这里不多说明。
想了解的可以单独问我,这个目录的大部分文件现在都解密了。
archiver目录中只有一个index.php,就是经常说的无图版程序的入口,这个一般不是给人看的,是给机器人看的。
config目录中有两个文件,config_global_default.php是你在安装论坛的时候就要修改的配置文件,另一个config_ucenter_default.php是自动生成的,一般不能手动修改内容,否则会导致出错。
data目录下的文件通常是动态缓存文件,这些文件里面都带有可以被调用的常量,当然附件、头像等等也是在这里保存的,这个不多说明,实际功能打开看就知道了。
install是安装程序的目录,里面文件的含义没有太多解释的意义了,这里省略。
uc_client和uc_server目录中的文件关系到UCentre的运行,一般里面的内容不推荐修改,同理省略。
static目录中的文件全部属于静态文件,例如像图片、预览什么的,这里我只对下面js目录中的文件进行说明Discuz!中许多的Ajax效果都是这个文件中的代码来实现的,会Javascript的可以尝试去改下,后面我生效的位置进行说明admincp.js 站点管理bbcode.js Discuz!代码效果实现calendar.js 日历common.js系统全局common_diy.js 首页DIY效果common_extra.js 功能基本同common.jseditor.js 编辑器效果forum.js 论坛效果forum_moderate.js 论坛管理forum_post.js 论坛发帖forum_slide.js 论坛边栏forum_viewthread.js 论坛主题浏览google.js google搜索home.js 家园home_blog.js 家园日志home_drag.js 家园,表格拖动home_friendselector.js 家园好友选择home_uploadpic.js 家园图片上传logging.js 登录md5.js MD5加密portal.js 首页portal_diy.js 首页DIYportal_upload.js 首页上传register.js 注册页面seditor.js 编辑器效果smilies.js 表情space_diy.js 个人空间DIYthreadsort.js 主题排序tree.js 树形列表userapp_swfobject.js FLASH批量上传接着回到根目录,这里我对templates/default目录中的模板文件的功能做下解释其中userapp和style里面的模板分别对应着应用和家园风格,mobile目录的模板对应的是3G手机版,search目录里面是搜索页面模板,ranklist对应的是排行榜模板,tag目录中的是标签,group里面的是群组模板,home中的是家园模板,portal里面的是文章首页模板,这些对插件作者来说一般用不上,这里就不多叙述了。
只说下面的目录,后面对文件被调用的场合进行说明default/member 下面有四个文件getpasswd.htm 密码取回login.htm 用户登录login_simple.htm 同上,但是功能简单点register.htm 用户注册default/common 下面的css我不做解释,因为对做插件的人来说基本用不上,有兴趣的请自行请教模板风格作者,同样对使用的场合进行说明block_forumtree.htm 论坛树形列表模块block_thread.htm 主题模块block_userinfo.htm 用户信息模块buyinvitecode.htm 邀请码购买css_sample.htm CSS样例editor.htm 编辑器editor_menu.htm 编辑器菜单按钮extcredits.htm 拓展积分列举faq.htm 使用帮助footer.htm 站点底部文件,一般的模板文件都要调用这个模板以正常显示底部信息footer_ajax.htm 同上header.htm 头部文件,一般的模板文件都要调用这个文件以正常显示头部信息header_ajax.htm 同上header_common.htm 同上header_diy.htm 同上invite.htm 邀请注册preview.htm 也来pubsearchform.htm 搜索report.htm 报告seccheck.htm 验证码检查seditor.htm 编辑器sendmail.htm 邮件发送页showmessage.htm 提示信息页面,在PHP程序中使用showmessage函数出来信息使用的模板就是这个simplesearchform.htm 搜索stat.htm 站点统计userabout 用户应用信息default/forum 一般论坛里面的PHP程序所调用的模板文件都是在这里(小提示,一般htm 对应的php文件文件名都是有类似字符的,很好认的)activity_applist_more.htm 应用列表activity_applylist.htm 应用列表activity_export.htm 导出ajax_albumlist.htm 相册列表ajax_attachlist.htm 附件列表ajax_imagelist.htm 图片列表ajax_secondgroup.htm 拓展用户组ajax_threadlist.htm 主题列表announcement.htm 公告attachpay.htm 附件收费attachpay_view.htm 收费附件付费记录浏览comment.htm 点评comment_more.htm 同上debate_umpire.htm 辩论discuz.htm 论坛首页discuzcode.htm Discuz!代码editor_ajax.htm 编辑器editor_menu_forum.htm 论坛菜单forumdisplay.htm 主题列表浏览forumdisplay_fastpost.htm 快速回复框架forumdisplay_leftside.htm 主题列表浏览边栏forumdisplay_list.htm 主题列表forumdisplay_passwd.htm 论坛密码输入页面forumdisplay_subforum.htm 二级论坛框架index.htm 空文件,作用是防止列目录index_navbar.htm 头部导航栏modcp.htm 版主管理后台modcp_announcement.htm 版主管理后台公告发布modcp_forum.htm 版主管理后台论坛管理modcp_forumaccess.htm 版主管理后台论坛权限设置modcp_home.htm 版主管理后台主页modcp_log.htm 版主管理后台记录查看modcp_login.htm 版主管理后台登录页modcp_member.htm 版主管理后台用户管理modcp_moderate.htm 版主管理后台主题批量管理modcp_moderate_float.htm 版主管理后台主题管理浮动窗口modcp_post.htm 版主管理后台帖子管理modcp_recyclebin.htm 版主管理后台回收站modcp_recyclebinpost.htm 版主管理后台回收站帖子浏览页modcp_report.htm 版主管理后台用户报告管理modcp_thread.htm 版主管理后台主题管理pay.htm 收费主题pay_view.htm 收费主题付费记录查看post.htm 跟发帖有关的模板,这个是全局模板post_activity.htm 发表活动主题post_attachlimit.htm 附件限制信息页面post_debate.htm 发表辩论主义post_editor_attribute.htm 编辑器post_editor_body.htm 编辑器主题post_editor_extra.htm 编辑器附件功能post_editor_option.htm 编辑器post_forumselect.htm 发帖时论坛列表选择post_infloat.htm 浮动发帖页面post_poll.htm 投票主题发布页面post_reward.htm 发表悬赏主题post_sortoption.htm 排序选项post_trade.htm 发表商品主题postappend.htm 以往帖子列表浏览rate.htm 用户评分rate_view.htm 评分记录recommend.htm 主题推荐relatekw.htm 标签生成页search_sortoption.htm 搜索stat_main.htm 站点统计首页stat_memberlist.htm 站点统计,用户统计stat_misc.htm 站点统计,例如像竞价、主题等等的统计stat_onlinetime.htm 站点统计,在线时间统计stat_team.htm 站点统计,管理团队stat_trade.htm 站点统计,交易统计tag.htm 标签topicadmin.htm 全局模板,配合下面的使用topicadmin_action.htm 浏览主题时选择主题管理操作的下拉列表项目topicadmin_getip.htm 帖子IP查看页topicadmin_modlayer.htm 管理主题时候,悬浮的带有置顶、移动、精华等常用操作的小浮窗trade.htm 商品主题全局模板trade_displayorder.htm 商品主题基本信息trade_info.htm 商品信息浏览trade_view.htm 商品交易记录浏览upload.htm 附件上传viewthread.htm 浏览的主题时调用的全局模板viewthread_activity.htm 浏览活动主题viewthread_debate.htm 浏览辩论主题viewthread_fastpost.htm 浏览主题时快速发帖的框子viewthread_from_node.htm 同viewthread_node.htmviewthread_mod.htm 浏览主题时的管理项viewthread_node.htm 浏览主题的时候显示的用户信息viewthread_node_body.htm 同上viewthread_pay.htm 浏览付费主题viewthread_poll.htm 浏览投票主题viewthread_poll_voter.htm 浏览投票主题的选项viewthread_portal.htm 浏览文章viewthread_printable.htm 浏览可打印版本viewthread_reward.htm 浏览悬赏主题viewthread_trade.htm 浏览商品主题warn_view.htm 浏览帖子警告记录不过前面都是打酱油的程序文件,真正的大牌现在才开始,返回根目录,看source目录把,主要执行具体功能的程序都在里面source下面的discuz_version.php是Discuz!版本标示文件,这个文件是对当前Discuz!版本进行识别,一般不动的。