一、discuz目录结构
/api
uc.php UCenter通信文件
/api/addons应用中心
/api/connect腾讯互联
/api/googleGoogle引擎接口处理
/api/javascript数据和广告的 JS调用
/api/manyoumanyou应用及搜索等相关服务
/api/remote远程更新?
/api/trade支付宝、财付通等交易接口
/archiver论坛Archiver静态化
/config程序配置文件
config_global.php论坛核心参数配置文件
config_ucenter.phpUCenter核心参数配置文件
config_global_default.php论坛核心参数配置文件(例子)
config_ucenter_default.phpUCenter核心参数配置文件(例子)
/data附件数据、数据库与文件缓存
stat_setting.xml站点统计FLASH配置文件
tinyipdata.datIP数据库
/data/addonmd5应用中心在线安装缓存目录
/data/attachment程序附件上传存放目录
/data/attachment/album相册
/data/attachment/category房产
/data/attachment/common公共目录
/data/attachment/forum论坛
/data/attachment/group群组
/data/attachment/portal门户
/data/attachment/profile
/data/attachment/swfupload
/data/attachment/temp临时附件存放目录
/data/avatar/用户头像(弃用)
/data/backup_***数据备份存放目录
/data/cache运行数据缓存目录
/data/download应用中心模板插件在线安装缓存目录
/data/ipdata/IP数据库
/data/log系统运行记录存放
/data/plugindata插件设计模式语言包
/data/template模板缓存目录
/data/threadcache帖子缓存目录
/install安装程序
index.php 安装程序入口
/install/data安装程序数据库
common_district_1.sql 地区数据包
common_district_2.sql 地区数据包
common_district_3.sql 地区数据包
group_index.xml群组首页DIY安装数据
install.sql 数据表安装包
install_data.sql 数据表数据包
/install/images 安装程序附件包
/install/include安装程序文件包
install_extvar.php杂项
install_function.php核心库
install_lang.php语言包
install_mysql.php数据库处理
install_plugin.php插件出理想
install_var.php杂项
/source/ 程序模块功能处理目录
/discuz_version.php 程序版本号存放文件
/source/admincp 后台管理[查看该目录文件标注] (http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.1)
/source/archiver论坛Archiver静态化程序目录[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.2)
/source/include程序功能处理目录[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.5)
/source/language程序语言包(如不清楚,请打开各个文件查看)[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.6)
/source/module程序功能模块程序包[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.7)
/source/plugin插件程序扩展目录[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.8)
/source/functionDX自定义函数库[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.4)
/source/class核心类库[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_class#dirons_0.3)
/template模板目录[查看该目录文件标注](http://discuzt.cr180.com/discuzcode-dir_template)
/uc_client UCenter客户端
/uc_server UCenter服务端
/static程序界面元素附件存放目录
/static/image/admincp后台界面附件包
/static/image/click表态图标
/static/image/common全局界面附件包
/static/image/diyDIY模式附件包
/static/image/doodle风格预览图标
/static/image/editor编辑器相关附件
/static/image/feed家园杂项附件
/static/image/filetype上传附件格式图标
/static/image/foreground
/static/image/help帮助信息附件(弃用)
/static/image/magic道具图标
/static/image/mobileWAP预览界面附件
/static/image/poke打招呼图标
/static/image/seccode验证码相关附件
/static/image/smiley表情
/static/image/sound短消息提示音(弃用)
/static/image/stamp管理图标
/static/image/stat
/static/image/task任务
/static/image/traderank论坛交易图标
/static/image/upgrade升级程序附件
/static/space风格切换包
/static/topic
/t1/门户专题风格包
/t2/门户专题风格包
根目录文件
admin.php后台入口文件
api.php合作API输出
archiver论坛Archiver阅读模式(无图版)
connect.php云平台接口文件
cp.php多应用服务入口文件(加载userapp.php)
crossdomain.xml
favicon.ico站点ICO图标
forum.php论坛频道入口文件
group.php群组频道入口文件
home.php家园频道入口文件
index.php首页
member.php用户入口文件(登录、注册、退出等)
misc.php程序杂项扩展入口
plugin.php插件入口文件
portal.php门户入口文件
robots.txt搜索引擎限制文件
search.php搜索频道入口
userapp.php多应用服务入口文件
二、模板语法
1.变量输出
输出一个变量的值,等同于php的 <?php echo $my_var;?>,花括号可以省略但不建议去掉。
{$my_var}
2.条件判断
通过if判断流程分支
如果写在HTML表单元素中,可以省去使代码更清晰易读,如{if $my_var}xxx{/if}
<!--{if $my_var}-->
任意html语句
<!--{/if}-->
带有多条件的if写法,可使用PHP常规判断中的按位运算符等
<!--{if $my_var && ($my_var2 & 1 || $my_var3 == 3)}-->
任意html语句
<!--{/if}-->
带有分支条件的if写法
<!--{if $my_var == 1}-->
变量为1
<!--{elseif $my_var == 2}-->
变量为2
<!--{else}-->
其他情况
<!--{/if}-->
3.循环输出
带有数组键的循环写法
<!--{loop $my_arr $key $val}-->
循环输出的HTML语句
<!--{/loop}-->
没有数组键的循环写法
<!--{loop $my_arr $val}-->
4.模板嵌套
将被嵌套模板内容解析为PHP语句并合并入本模板中的写法
common/header 对应某个模板套系中的common目录的header.htm模板文件
<!--{subtemplate common/header}-->
程序运行时include嵌套模板内容
<!--{template common/header}-->
5.插件钩子
在模板中设立插件钩子
hook为关键词,意为将index_top定义为钩子
<!--{hook/index_top}-->
6.变量数组嵌套使用
条件判断或变量输出时用到
<!--{if $my_arr[$my_var]}-->
<!--{if $my_arr[0]}-->
<!--{if $my_arr[$my_arr2[$my_var]]}-->
7.PHP解析
在模板中使用PHP语句可以通过{eval}进行
<!--{eval $my_var = 1;}-->
<!--{eval echo $my_var;}-->
<!--{eval $my_arr = array(1, 2, 3);}-->
<!--{eval print_r($my_arr);}-->
<!--{eval output();}-->
<!--{eval exit();}-->
多行PHP解析(Discuz! X3 新增)
<!--{eval}-->
...PHP语句...
<!--{/eval}-->
8.语言包使用
在模板中可以通过下面的代码来使用语言包中的某个值
{lang index_yesterday}