前台部分
常规连接
forum.php?mod=collection&action=view&ctid=6
以淘贴为例,URL传递的参数主要有mod、action、ctid,其中mod、action的作用就是引入相关脚本,接下来一一分析,
mod
require DISCUZ_ROOT.'./source/module/forum/forum_'.$mod.'.php';
mod引入的是功能模块目录(source/module/)的脚本,下面的目录fourm对应的是入口文件forum.php,再通过mod传入的参数collection找到forum下面的forum_ collection.php,脚本文件名=入口文件_mod参数.php
action
require_once libfile('collection/'.$action, 'include');
action通过函数libfile引入的source\include\collection\collection_ view.php, libfile传入了俩参数,第一个参数'collection/'.$action,action参数引入的就是目录source\include下面名为mod参数目录(collection)下面的"mod参数_action参数.php"(collection_ view.php),
例子
帖子列表页
forum.php?mod=forumdisplay&fid=40
引入的是source/module/forum/forum_forumdisplay.php
引入的是source/module/forum/forum_forumdisplay.php
帖子详情页
forum.php?mod=viewthread&tid=175
引入的是source/module/forum/forum_viewthread.php
引入的是source/module/forum/forum_viewthread.php
资讯列表页
portal.php?mod=list&catid=1
引入的是source/module/portal/portal_list.php
引入的是source/module/portal/portal_list.php
资讯详情页
portal.php?mod=view&aid=13
引入的是source/module/portal/portal_view.php
引入的是source/module/portal/portal_view.php
插件连接
以频道文章图文瀑布流为例
plugin.php?id=yunshan_viewpic:yunshan_viewpic
结构为plugin.php?id=标识符:脚本名
引入的脚本是source\plugin\yunshan_viewpic\yunshan_viewpic.inc.php
引入的脚本是source\plugin\yunshan_viewpic\yunshan_viewpic.inc.php
id传入的是插件的标识符,对应的是source\plugin\下面的插件目录(yunshan_viewpic),冒号后面的参数yunshan_viewpic对应的是该插件目录下面的,以该参数为名的inc.php(yunshan_viewpic.inc.php)