掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
?大家可能已經(jīng)看到了我們長沙建站網(wǎng)的網(wǎng)站風(fēng)格,發(fā)現(xiàn)論壇、門戶首頁、門戶列表與內(nèi)頁的頭部都是不一樣的。對于很多新手站長來說可能會(huì)感覺很神奇,但實(shí)際上是特別容易的,這里我們只告訴你實(shí)現(xiàn)Discuz門戶首頁的頭部跟其他地方頭部不一樣,而至于實(shí)現(xiàn)很多頁面都不同的話是一樣的道理。
? ?? ? 其實(shí)呢Discuz使用了PHP模板引擎的一個(gè)類(類是面向?qū)ο箝_發(fā)中的一個(gè)名詞),這個(gè)類的作用就是讓程序和模板分離,比如我們看到別人做的模板就只有模板文件,而沒有其他的東西。而且在模板中直接可以應(yīng)用if循環(huán),比如說{if}…..{/if},而如果是在PHP中應(yīng)該是<?php if(){} ?>,也就是簡化了我們一些東西,因?yàn)樗械膱?zhí)行過程其實(shí)已經(jīng)封裝到模板引擎中的那個(gè)類里面。當(dāng)然另外這個(gè)模板引擎類還有執(zhí)行緩存的功能,這里就不跟大家解釋了。
? ?? ?那么既然Discuz應(yīng)用了這么一個(gè)模板引擎,那么我們要實(shí)現(xiàn)不同頁面不同的就非常容易了。
? ?? ?我們會(huì)看到很多文件都有以下這樣的代碼:
<!–{template common/header}–>
? ???那這是什么意思呢,其實(shí)上下兩段就是調(diào)用公共的的頭部和底部,因此如果我們要改變頭部,比如說我們在模板目錄/common/目錄下新建了通過模板目錄/common/header.htm修改過來的文件模板目錄/common/headerindex.htm,以這個(gè)文件當(dāng)做我們門戶首頁的的頭部。那么我們只需要把門戶首頁文件的以上代碼部分修改為:
<!–{template common/headerindex}–>
<!–中間其他的html代碼–>
<!–{template common/footer}–>
? ???其實(shí)這里的<!– {}–>是通過discuz內(nèi)部改進(jìn)的,而不是我們html中的注釋了,比如我們PHP中經(jīng)典的一個(gè)模板引擎smarty類,如果是引用其他地方的文件默認(rèn)的代碼格式是
{include flie=”文件路徑”}
? ?? ?而DZ這個(gè)地方跟這里是類似的,而在smarty中,更像原生PHP中的include。
? ?? ??
? ?? ???好了,到這個(gè)地方相信大家也會(huì)舉一反三了,也就是只需要改掉引用的文件就可以改為不同的了,不管是底部還是頭部,還是其他的模塊,比如說搜索框、導(dǎo)航條等等。
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流