针对最近在开发discuz x2.0 产品的过程中,归纳总结的关于x产品的基础知识,拿出来跟大家分享,希望能给大家带来帮助。
先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这些文件中,而是在其调用的文件中
admin.php 系统站点管理入口文件
api.php Discuz!合作应用入口文件(例如漫游、支付宝什么的都走这里)
connect.php QQ互联入口文件
cp.php 应用入口文件
l 数据交互文件,如果在里面定义其它站点的地址,那么这两个不同站点就可以交互数据
favicon.ico 图标文件,显示在浏览器的标题栏
forum.php 论坛入口文件
group.php 组入口文件
home.php 家园入口文件
index.php 功能与portal.php基本相同
member.php 用户信息入口文件
misc.php 网站用户常用操作入口文件,例如像评分、收藏等功能都是走这个文件的
plugin.php 插件入口文件
portal.php 门户入口文件
  在这个文件中加上具体的地址,可以防止被搜索蜘蛛检索到
search.php 搜索功能入口程序
userapp.php 用户应用入口程序

API目录中的文件主要是和Discuz!进行合作的商家的应用程序,一般不要也无需修改,这里不多说明。想了解的可以单独问我,这个目录的大部分文件现在都解密了。

archiver目录中只有一个index.php,就是经常说的无图版程序的入口,这个一般不是给人看的,是给机器人看的。

config目录中有两个文件,config_global_default.php是你在安装论坛的时候就要修改的配置
文件,另一个config_ucenter_default.php是自动生成的,一般不能手动修改内容,否则会导致出错。

data目录下的文件通常是动态缓存文件,这些文件里面都带有可以被调用的常量,当然附件、头像等等也是在这里保存的,这个不多说明,实际功能打开看就知道了。

install是安装程序的目录,里面文件的含义没有太多解释的意义了,这里省略。

uc_clientuc_server目录中的文件关系到UCentre的运行,一般里面的内容不推荐修改,同理省略。

static目录中的文件全部属于静态文件,例如像图片、预览什么的,这里我只对下面js目录中的文件进行说明
Discuz!中许多的Ajax效果都是这个文件中的代码来实现的,会Javascript的可以尝试去改下,后面我生效的位置进行说明
admincp.js 站点管理
bbcode.js Discuz!代码效果实现
calendar.js 日历
common.js 系统全局
common_diy.js 首页DIY效果
common_extra.js 功能基本同common.js
editor.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 首页DIY
portal_upload.js 首页上传
register.js 注册页面
seditor.js 编辑器效果
smilies.js 表情
space_diy.js 个人空间DIY
threadsort.js 主题排序
tree.js 树形列表
userapp_swfobject.js FLASH批量上传


接着回到根目录,这里我对templates/default目录中的模板文件的功能做下解释
其中userappstyle里面的模板分别对应着应用和家园风格,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 怎么看qq加密相册站点统计首页
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.htm
viewthread_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.phpDiscuz!版本标示文件,这个文件是对当前Discuz!版本进行识别,一般不动的。
source下面的多个目录中,plugins目录是插件目录,如果你要用插件接口开发插件,一般文件都是放这个目录中的;language目录中是所有的语言包文件,里面的内容自己打开看就可以了;archiver目录中的是无图版的程序。这些一般是无关紧要的,这里就不浪费篇幅了。

class目录中都是调用库的文件,对一般的插件作者来说,只需要掌握下面的几个目录里面的文件就可以了
source\class\magic里面是所有的道具脚本文件,具体文件对应的道具功能到系统设置看就可以了
source\class\task里面是所有的论坛任务脚本文件
task_avatar.php 头像上传任务
task_blog.php 日志任务
task_connect_bind.php QQ互联任务
task_email.php 邮箱验证任务
task_friend.php 加好友的任务
task_gift.php 红包类任务
task_member.php 用户类任务
task_post.php 发帖任务
task_profile.php 完善用户信息的任务
task_promotion.php 空间任务


class\block\forum里面的文件是DIY论坛页面的时候,所用到的模块程序,这里的程序只管理数据的搜索方式而不管理数据的具体显示
block_activity.php 论坛活动
block_activitycity.php 论坛活动城市
block_activitynew.php 最新活动
block_forum.php 论坛
block_thread.php 主题
block_threaddigest.php 精华主题
block_threadhot.php 最热主题
block_threadnew.php 最新主题
block_threadspecial.php 特殊主题展示
block_threadspecified.php 分类主题展示
block_threadstick.php 置顶主题展示
block_trade.php 商品主题展示
block_tradehot.php 最热商品主题展示
block_tradenew.php 最新商品主题展示
block_tradespecified.php 商品分类信息展示
blockclass.php 只有几行的程序,用来显示论坛对应的名称,不作为单独的模块