教你Discuz模板制作详细步骤.docx

上传人:b****5 文档编号:4438371 上传时间:2022-12-01 格式:DOCX 页数:24 大小:611.28KB
下载 相关 举报
教你Discuz模板制作详细步骤.docx_第1页
第1页 / 共24页
教你Discuz模板制作详细步骤.docx_第2页
第2页 / 共24页
教你Discuz模板制作详细步骤.docx_第3页
第3页 / 共24页
教你Discuz模板制作详细步骤.docx_第4页
第4页 / 共24页
教你Discuz模板制作详细步骤.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

教你Discuz模板制作详细步骤.docx

《教你Discuz模板制作详细步骤.docx》由会员分享,可在线阅读,更多相关《教你Discuz模板制作详细步骤.docx(24页珍藏版)》请在冰豆网上搜索。

教你Discuz模板制作详细步骤.docx

教你Discuz模板制作详细步骤

接触Discuz!

有一段时间了,使用的风格都是别人的免费品。

一来自己的美工水平实在不行,二来网上很少有比较完整的模板制作教程。

因为工作的需要,现特写了一份模板的制作教程。

小弟才疏学浅,不对之处还请指正。

  模板制作前请将你的界面设计好,并制作成html+CSS的格式。

这里我就以大魔王的“蓝色经典”作为样版(知识共享,希望大魔王不要介意,如有侵权,请及时通知我)。

效果图如下:

(图1)

 

在开始前,先了介绍一下discuz!

的几个模板文件:

1、      header.htm--------------------------------------页面头部

2、      discus.htm---------------------------------------------------------------论坛首页

3、      footer.htm---------------------------------------------------------------页面底部

4、      viewthread--------------------------------------------------------------查看帖子内容

discuz!

论坛的页面通常是几个模板文件共同作用下达到的效果,如图1就是header.htm+discus.htm+footer.htm这三个文件共同作用的效果。

Heaer.htm对应的是:

(图2)

 

Footer.htm对应的是:

(图3)

 

剩下的就是discuz.htm文件显示的了。

当然你要将首页显示的效果就制作成一个文件模板也是可以的,这里之所以分开,是因为header.htm和footer.hmt文件通常还会被其它的模版文件引用。

也就是说,其它的页面(比如发贴的页面)的头部、底部与首页的头部、底部完全一样,分开来写就可以达到重复利用,减少劳动的效果。

下面我们就开始制作:

首先,现在我要制作的这套模板叫test,那么我就在templates目录下建立一个test目录。

在test目录下再新建一个images文件夹用于存放这套模板的图片,把切好的所有图片保存到这个文件夹中。

templates/test文件夹用于存放这套模板的htm文件,在这个目录中新建三个文件header.htm、discuz.htm、footer.htm,打开你设计好的主页html文件,将你想作为头部的那一段代码复制粘贴到header.htm文件中,

相应的将作为底部的那一段代码复制粘贴到footer.htm文件中,其余的代码复制粘贴到discuz.htm文件中。

最后在discuz.htm文件的最顶部和最底部分别加上:

{subtemplateheader}和{subtemplatefooter}

这两句算是discuz的语言,意思是将header.htm和footer.htm文件包含进来,这样就构成了一个完整的主页面了。

接下来的工作要在论坛后台设置中来完成

(1)      进入论坛点击“系统设置——>界面——>模板管理”,在新增模板后填入模板名称,模板文件所在目录,板权信息然后提交即可!

如图4:

(图4)

 

(2)      在“界面——>风格管理”中,在新增界面风格后填入方案名称“test”然后提交即可!

(3)      提交方案名称后,您就可以在界面风格中看到您所定义的新的风格方案。

如下图:

(图5)

 

注意上面用红色圆圈圈起来的那幅模版预览图,你的是不是没有显示出来?

这需要将你的首页的效果图做成110x120并命名为preview.jpg,将这图片放到test目录下就可以了。

到此,一套新的风格模板方案就添加到模板库里了,但还不是我们需要的最终效果,接下来要对模板文件继续进行

调整,以达到想要的最终效果

(4)      点击[编辑]后就可以进入该模板的风格配色方案的编辑页面,按照图6把各个对应参数填入相应位置。

(图6)

填写好后,点击“提交”,更新一下缓存,浏览论坛首页出现下图:

(图7)

 

呵呵,有内容出来了,可是排版上却变得乱七八糟了,这是因为还没有引入CSS文件。

这时将原来设计好的CSS文件放到你模板目录下(templates/test),并将它重命名为“css_append.htm”(注意:

改后的文件名是css_append,后缀名是htm)。

接着打开header.htm文件,找到你引入CSS文件的语句,这会因为引入的语句不同而不同,我这里是@importurl(css/style.css);将这个替换为:

$rsshead

$extrahead

{subtemplatecss_script}

这样就可以将你的CSS文件引入了。

进入后台更新一下缓存,现在的效果图如下:

(图8)

 

这样就整齐了许多,这时你是不是发觉少了点东西?

没错,图片没有显视出来。

下面我们先将背景图(也就是CSS文件中引入的图片)显示出来。

打开css_append.htm文件,找到所有你引入图片的地方,将路径替换为“{STYLEIMGDIR}”。

例如:

这里有一句:

#footer{padding:

1em0;background:

url(images/footer_bg.gif)}

将它改为:

#footer{padding:

1em0;background:

url({STYLEIMGDIR}/footer_bg.gif)repeat-xtop;}

{STYLEIMGDIR}实际上是discuz的一个变量,当模板被解释时,就会用一个值来替换这个变量,这个变量的值可以在后台设置。

进入后台后点击“界面——>风格管理”出现下图:

(图9)

 

找到你正在制作的test风格,点击“编辑”按钮,出现下图:

(图10)

 

看到了吧,当模板被解释时,就会用上面所填的路径来替换这个变量。

好了,现在更新缓存再看一下效果:

(图11)

 

哈哈,和原来设计的效果图一样了,是否有一种成功的喜悦?

虽然,到这里已经迈出了成功的一步,但革命尚未成功,同志仍需努力!

现在制作的模版是静态的,也就是说就算你发贴了,里面的内容也不会改变的,甚至你点个连接都会出错的。

下面我们就来让它“动”起来。

一、修改头部文件header.htm

1、      打开正在制作的模板header.htm文件(以下简称header.htm),以及默认模板templates\default的header.htm文件(以下简称“默认header.htm”)。

2、      将header.htm文件的标题用$navtitle$bbname$seotitle来代替。

例如:

我这里是:

搜球论坛”改后就变成了“$navtitle$bbname$seotitle

3、      看header.htm里是否有类似“”这样的语句,有就删除。

然后,将默认header.htm里的以下语句:

Board"/>

$version"/>

TeamandComsenzUITeam"/>

复制粘贴到header.htm文件相应的位置(注这些对界面没什么影响,但对SEO优化有帮助)

4、      将默认header.htm里的以下语句:

varSTYLEID='{STYLEID}',IMGDIR='{IMGDIR}',VERHASH='{VERHASH}',charset='$charset',discuz_uid=$discuz_uid,cookiedomain='$cookiedomain',cookiepath='$cookiepath',attackevasive='$attackevasive',allowfloatwin='$allowfloatwin',creditnotice='{if$creditnotice}$creditnames{/if}',{ifin_array(CURSCRIPT,array('viewthread','forumdisplay'))}gid=parseInt('$thisgid'){elseifCURSCRIPT=='index'}gid=parseInt('$gid'){else}gid=0{/if},fid=parseInt('$fid'),tid=parseInt('$tid')

复制粘贴到header.htm文件相应的位置(至于这些有什么作用,自己查一下吧)

5、      将头部的logo“动”起来

(图12)

 

找到显示logo的地方,我这里是:

搜球论坛

将“index.php”和“搜球论坛”分别用$indexname和$bbname代替($indexname是首页文件名的变量,$bbname是论坛名称变量,其它相同的地方都可以用这两个变量作替换,以增加模版的适应性。

6、      让登陆状态“动”起来

(图13)

 

      

上面是我设计的效果图和相应的代码,这是登陆时的显示状态,当然我还希望没登陆的时候这样显示:

(图14)

 

在默认header.htm文件中找到:

uid=$discuz_uid"class="noborder">$discuz_userss

--{if$allowinvisible}-->

--{if!

empty($invisible)}-->

action=switchstatus">{langlogin_invisible_mode}

--{else}-->

action=switchstatus"title="{langlogin_switch_invisible_mode}">{langlogin_normal_mode}

--{/if}-->

--{/if}-->

                      |

                      

item=threads{if$forum}&srchfid=$forum[fid]{/if}">{langmy_posts}

                      

--{if$ucappopen['UCHOME']}-->

                          

uid=$discuz_uid"target="_blank">{langspace_short}

                      

--{elseif$ucappopen['XSPACE']}-->

                          

uid-$discuz_uid"target="_blank">{langspace_short}

                      

--{/if}-->

                      

--{if$newpm&&$_DCOOKIE['pmnum']}-->class="new"title="{langpm_new}"

--{/if}-->target="_blank">{langpm}

--{if$newpm&&$_DCOOKIE['pmnum']}-->($_DCOOKIE[pmnum])

--{/if}-->

                      

--{if$taskon}-->

                          

item=doing"class="new"title="{langtask_unfinish}"{else}href="task.php"{/if}target="_blank">{langtask}

                      

--{/if}-->

                      |

                      {languser_center}

                      

--{if$discuz_uid&&$adminid>1}-->

fid=$fid"target="_blank">{langmodcp}

--{/if}-->

                      

--{if$discuz_uid&&$adminid==1}-->{langadmincp}

--{/if}-->

                      

action=logout&formhash={FORMHASH}">{langlogout}

                

--{elseif!

empty($_DCOOKIE['loginuser'])}-->

                      $_DCOOKIE['loginuser']

                      

action=login">{langactivation}

                      

action=logout&formhash={FORMHASH}">{langlogout}

                

--{else}-->

                      $reglinkname

                      

action=login">{langlogin}

                

--{/if}-->

用这一段代码替换上面红色黑体部份,并在