+ -
当前位置:首页 → 问答吧 → DISCUZ 模板更换机制

DISCUZ 模板更换机制

时间:2010-09-21

来源:互联网

不知道大家有没有研究过DZ的模板更换机制
今天晚上,因为毕业设计需要,自己研究了一下,大概有了个思路
首先,我们应该知道,制作DISCUZ模板需要的几个文件:一个XML文件discuz_style_greenwall.xml
同时还可以放置一些css_*_append.htm文件,以及模板,比如:discuz.htm。
在默认的模板目录下,有9个css_*.htm文件,这里面保存的都是CSS样式
当新安装一个模板的时候,假设新安装的模板ID为3,那么在forumdata/cache文件夹下,就会出现八个style_3_*.css缓存文件,还有一个style_3.php文件。在CSS缓存文件中保存的是默认模板文件夹下的对应的css_*.htm文件与新安装的模板文件夹下的css_*_append.htm文件的内容总和。
举个例子:假设新模板目录下有一个css_script_append.htm,那么生成的对应的CSS缓存文件就是模板目录下css_script.htm文件和css_script_append.htm文件内容的集合,并且css_script_append.htm文件内容在后。根据CSS优先级原则,新安装的模板样式会覆盖掉默认样式,也就使得我们新的样式生效了。
至于XML文件,和style_3.php文件内容很一致,style_3.php文件定义了一堆常量,常量的名称和内容对应着xml文件的标签名和对应值。我估计可能是一些JS脚本,以及页面内嵌样式的需要,因此style_3.php文件是必须的,只有这样才能够完成一些动态的样式转换。
前台在调用模板文件的时候,先检查正在使用的模板文件夹下是否存在需要的模板,存在则调用,不存在则使用默认模板,调用样式的时候,也就根据模板id直接调用forumdata/cache文件夹下的css文件。这样就实现了模板的更换。

不知道说的清不清楚,有问题大家一起讨论一下,我也只看了一个多小时,看了个大概,具体还是不太明白。

作者: huaihuajio   发布时间: 2010-09-21

研究了了这么长时间的 网站优化,现在看来 DZ 的优化还是 不尽人意啊!

作者: axiebin   发布时间: 2010-09-21

DZ 的模式还是不错的。。。。

作者: 2008feixu   发布时间: 2010-09-21

相关阅读 更多

热门下载

更多