对于每个PHPer而言,最近最高兴的事情莫过于PHPwind9.0的发布,但要搞懂它并进行一定的开发还需要下一番苦功才行。由于论坛模板机制和门户等模板机制不同,所以今天我就先重点讲讲论坛模板制作的大概过程。
一、先来熟悉下phpwind9.0的论坛模板机制。
其实phpwind9.0的模板机制和discuzx2.5差不多,都是程序运行本身自带的默认模板(template内文件),然后如果我们自己设计一套模板放在对应的文件夹中并且后台进行指定的话,那么程序就将运行我们新建的模板风格,官方这样做的目的是:想改哪里就做哪里的模板,很方便很灵动,如果说为了修改一个论坛界面的风格动辄就要去做整站模板的话,那可就得不偿失了。
二、制作论坛模板风格需要哪些文件和目录?
1、新风格目录
2、css目录及css文件(样式)
3、js目录及js文件(Javascript、jquery等脚本)
4、images目录及图片文件(风格图片)
5、template目录及htm文件(模板)
6、Manifest.xml(安装配置文件)
说明:
①新风格目录是必须要建的,以下2~6项的文件全部放在其中。
②css目录必须要建立,为了规范化在css目录里继续建立dev和build目录,dev是风格要使用的css目录;build目录是后台开启压缩css功能后将产生压缩后的css文件的目录。在dev目录下放置新风格的css文件即可。
③如果你做的风格不需要js特效的话可以忽略此项,否则你需要建立js目录然后将js文件放入其中。
④如果你做的风格不需要图片的话可以忽略此项,否则你需要建立images目录,然后将图片文件放在里面即可。
⑤template目录必须要建立,用于存放htm模板文件,htm文件名称一定要对应官方/template/bbs/下相关模板的名称,否则程序无法识别。
⑥Manifest.xml文件必须要建立,用于后台识别并安装模板用图。
作为以上说明的补充请看:http://www.zsbs.net/phpwind/forum.html
三、论坛页面所对应的模板
很多朋友在体验站里讨教例如在哪个文件里修改某某页面的问题,为了大家不走弯路一个个文件查看,我先将我知道的页面对应htm文件进行说明,如果有没说明到的地方,请大家跟帖,当然如果有能力的朋友也请将更多的说明贴上来。
论坛首页:/index.php?m=bbs
对应模板:/template/bbs/index_run.htm
论坛最新发帖页、最后回复页(如图)
对应模板:/template/bbs/forum_run.htm 和 forum_run.htm 和 forum_list.htm
论坛频道页:/index.php?m=bbs&c=cate&fid=1
对应模板:/template/bbs/cate_run.htm 和 cate_digest.htm
论坛版块页面:/index.php?m=bbs&c=thread&fid=1
对应模板:/template/bbs/thread_run.htm
论坛帖子阅读页:/read.php?tid=1&fid=1
对应模板:/template/bbs/read_run.htm 和 read_reply_floor.htm 和 read_floor.htm
其实看到这里想必大家也能发现一些规律:
比如一般首页都是运行类似 某某_run.htm的文件。
比如链接url路径里看到什么名字,那么其对应的模板也是什么名字做前缀。
比如和链接url路径名字相同前缀的文件都是和此连接相关的htm文件。
希望大家能够举一反三,这里因为家里冻手,所以就不一一例举说明了,期待更多的热心会员反馈经常发现!
四、制作模板
这里就不详细说明了,下次用一个实例教程进行将解。无法就是将程序的各种php if判断和标签套在htm代码之中。对应好css、js、images等路径就好。
五、配置Manifest.xml安装文件
这个文件我的理解是,可以使后台识别是否存在新风格的重要依据。我做了一个实验,建立一个新目录,将此配置文件放在里面,然后将这个新风格目录直接放在/themes/forum/下面,程序后台就能识别有新风格。关于这个配置文件的重要性我就不多说了,大家只要参照说明照葫芦画瓢就可以了。
更多可以看官网的phpwind9.0手册。
六、安装新做好的模板
1、将新建模板目录整体放在程序根目录/themes/forum/下面,然后进入后台点击云平台→模板管理→本地安装→会看到新模板,请勾选后安装它。
2、安装完毕并不代表已经在使用它了,请到后台的版块设置里指定使用此风格,这个功能很好,比如我想用版块1做博客,想用版块2做资讯,想用版块3做论坛……那么你只需要做各种风格的版块模板来进行匹配就ok,当然了目前仅仅是版块绑定风格,官方证实频道页也会有风格绑定功能的,期待正式版phpwind9.0。