為了獲取更多最新內(nèi)容及功能更新,請(qǐng)直接訪問我們的首頁以查看DzzOffice筆記的最新地址。
DzzOffice擁有完善的模版機(jī)制,支持模版和程序的分離,方便模版風(fēng)格的擴(kuò)展開發(fā)。
先說Dzz模版機(jī)制!非常重要!非常重要!非常重要!
Dzz在運(yùn)行時(shí),您可能會(huì)覺得是直接調(diào)用data/templete目錄下的模板,然后您修改了該目錄下的模板,并看到了立竿見影的效果,但您已經(jīng)陷入了陷阱!
data/templete目錄下的同名模板文件僅僅是系統(tǒng)緩存。過一段時(shí)間后,系統(tǒng)會(huì)自動(dòng)回收它們。這絕對(duì)是一個(gè)大陷阱!
如果不事先說明的話,你幸幸苦苦修改了data/templete下的的模版,過段時(shí)間系統(tǒng)自動(dòng)就讓你突然回到解放前,血的教訓(xùn)!
通常,模板文件存放在template目錄下,文件格式為htm。調(diào)用模板的形式如下:
include template('common/index');
其中
common
為當(dāng)前模塊template目錄下的子目錄名稱,
index
為模板文件名稱。如在template目錄下
common
可省略,即:
include template('index');
此時(shí),Dzz模板引擎主要進(jìn)行了如下的行為:
請(qǐng)確保 /data/template/ 目錄具有寫入權(quán)限。在后臺(tái)更新模板緩存時(shí),該目錄將被清空。若沒有權(quán)限,可能會(huì)導(dǎo)致模板無法加載或無法更新。
DzzOffice具備模板重用機(jī)制(三重重用機(jī)制)。程序調(diào)用模板時(shí),將優(yōu)先尋找當(dāng)前層,當(dāng)程序調(diào)用模板時(shí),將優(yōu)先搜索當(dāng)前層,例如應(yīng)用 dzz/test,將搜索 test 對(duì)應(yīng)目錄下的 template 目錄中的模板文件。如果未找到,將向上搜索 dzz 下的模板目錄。如果仍然無法找到,將調(diào)用 /core/template/default/common/ 目錄下的模板文件。其中找到任意一層將不再向上查找。
DzzOffice采用預(yù)編譯的模板緩存機(jī)制。在程序調(diào)用模板過程中,將首先檢測(cè)是否存在緩存。如果存在已編譯的模板文件,則直接調(diào)用編譯后的模板緩存(位于 /data/template/ 目錄中)。否則,將進(jìn)行一次模板編譯。 模板編譯的工作原理如下:
模板套系:統(tǒng)一的一類模板,集中放置并打包的系列。模板風(fēng)格:使用某個(gè)模板套系代碼,僅改變其中變量設(shè)置的一個(gè)方案。(默認(rèn)一個(gè)模板套系下就一個(gè)風(fēng)格方案,通過“復(fù)制”功能,可以復(fù)制出不同的風(fēng)格,進(jìn)行不同的設(shè)置,比如改變logo設(shè)置)
container 容器(整個(gè)界面)
├── commer_header 頭部
│ ├── header_left 左側(cè)
│ ├── header_search 中間
│ └── header_right 右側(cè)
│ ├──notificationapp_ajax 應(yīng)用中心
│ ├──notification 通知
│ └──navmenu 導(dǎo)航菜單
├── left 左側(cè)邊欄
├── main-container 正文容器
│ ├── main-header 正文頭部
│ └── main-content 正文主體
└── right 右側(cè)邊欄
修改以上內(nèi)容后需要再后臺(tái)清理緩存才能生效,并且在實(shí)際使用中,以上模板文件及內(nèi)容可有可無。
更多建議: