Discuz! home首页风格制作开发教程 及调用标签

网络整理 - 07-26

1、首先为了避免和原来的传统模式冲突,所以我们要生成一个新的首页php文件,拷贝index.php,命名为home.php


2、这个index.php可以调用原来传统模式里面的很多功能了,比如板块列表、论坛基本情况、在线情况等,但是没有新贴调用和新回复调用等。找一个首页四格,把他要加到index.php里面的文件加到这里来。


3、其他文件的修改,这个就参照首页四格的修改方法就可以了,首页四格需要修改哪些,你就修改哪些。

4、模板的制作,index.php的最后,使用的模板文件是include template('discuz');也就是调用模板文件discuz.htm,那我们把这个改了,改成调用模板文件home.htm,然后再制作home.htm


5、模板文件里面的调用内容怎么修改呢?比如我要调用今日发贴数。这个也很简单,原来discuz.htm里面不就有这个吗?那找到discuz.htm里面的相应代码,复制过来,根据home模板的实际情况,做些样式的修改就可以了。


6、新贴、新回复等怎么调用呢?这个就参照首页四格的调用方法,首页四格一般是直接在discuz.htm里面增加一些代码,或者调用一个toplist.htm的模板文件。找到这些代码,做些修改加进去就可以了。


7、只调用了新贴、新回复等,我还要调用推荐贴,发贴之星怎么办呢?最简单的办法是再找一个这样的插件,拷贝他的相关代码就可以了,如果你能看懂一些php代码,并且懂一些sql查询,也可以参照新贴、新回复调用的代码,自己做。


8、生成缓存和直接查询数据库的差别。我发完这个home页后,很多人在问。其实你们现在使用的首页四格,也只有这两种调用方式。查询缓存的话,会生成一个文本内容的文件,比如打开这个home页,新贴、新回复等就是查询的缓存,而不是调用的数据库。这样的好处是可以避免同一时间,访问人数过多的情况下,频繁的查询数据库,我们知道php和mysql数据库连接的进程是有限的,虽然数据库的查询经过了优化,但是如果大量查询的话,会导致整体速度的降低。
而查询数据库的优点是,对于大的数据,比如上千上万条,无疑是比读取文件来得快,经过了优化。但是注意在我们这个情况下,数据的数量相对很少,反而不如查询文件来得快。


9、缓存生成的方式。缓存生成我总结了一下,一种是到指定的时间更新,比如1800毫秒,这种的话,就更js调用一样有延时,另外一种就是发贴和回帖的时候更新。这个home主要就是利用这种技术。

希望这个东西能给大家带来启发。

——————————————————————————————————

DZ论坛模板基本构成:
1,基本说明:
论坛默认的首页程序为index.php,论坛中所有首页链接都是默认到index.php.
2,index.php是调用根目录下templates的模板文件,包括

以下内容为程序代码

header.htm index.htm footer.htm

3个文件,当然还有

以下内容为程序代码

viewthread.htm forumdisplay.htm

这2个,这里只提影响到全局的这5个主要文件,大部分可视化内容都是通过修改这5个文件做到的,对应功能如下:

header.htm           --就是顶部包含LOGO的那部分   

index.htm          --就是中部包含论坛分类列表那部分


footer.htm          --就是底部包含论坛说明那部分

forumdisplay.htm --就是单个论坛的分类和子论坛列表那部分              对应forumdisplay*.php一系列文件

viewthread.htm     --就是单个论坛的帖子列表那部分                         对应viewthread*.php一系列文件

3,了解了上面的index知识对你制作home就有很大帮助,做home的话有2种方法(采用跳转的方法也是同理,不过不建议使用,那样实际上是做无用功):

HOME建议采取童虎大哥的whatsnew,通过调用JS脚本实现

?tid=126042&fpage=1&highlight=WHATSNEW

A,偷梁换柱法:用新编辑的home.htm替换原先的index.htm,步骤如下:

1)先复制旧的index.htm并命名为home.htm,根据童虎老师的WHATSNEW调用你需要的信息做成home.htm

2)将index.htm命名为bbs.htm,将home.htm命名为index.htm

3)复制旧的index.php并命名为bbs.php,再修改bbs.php,查找里面的index.htm,替换为bbs.htm有2处

4)在论坛菜单里添加“论坛首页”这个指向,这个在header.htm完成,方法就是

查找

以下内容为程序代码

| <a href="faq.php">帮助</a>

再其后面添加

以下内容为程序代码

| <a href="bbs.php"><b>论坛首页</b></a>

注意:可能你的链接样式使用了STYLE定义,因此你需要查找

以下内容为程序代码

| <a href="faq.php" style="color: #XXXXXX">帮助</a>

#XXXXXX代表你的颜色代码,比如{link}、#FFFFFF

5)增加链接,类似:

以下内容为程序代码

<td class="nav" width="90%" align="left" nowrap> <a href="index.php">$bbname</a> $navigation</td>

替换为

以下内容为程序代码

<td class="nav" width="90%" align="left" nowrap> <a href="index.php">$bbname</a>» <a href="bbs.php" target="_self">论坛首页</a> $navigation</td>

B,服务器默认法:在WEB站点服务器会有默认的首页设置,会有优先级的设置,当你制作完home.htm后,你只需将这个home连同它对应的php命名为服务器默认的第一个首页格式,比如default.php,当然有些空间上甚至提供了自定义首页程序,那都不用改了直接设置home.php为默认首页。