phpcms模板生成原理2009-09-25 16:14PHPCMS是功能強大的網站管理系統。之後有時間,俺要將其管理、使用、再開發等等都理順出來。這一篇短文先介紹PHPCMS的模板機制。php
所謂網站模板,就是生成網頁的「模子」,主要包括固定的圖片、表格、顏色等美術風格,以及要從數據庫輸出的數據標籤,還有簡單的phpcms定義的語法(也能夠是很複雜的php語法)。PHPCMS每一個網站的每一個欄目,均可以設置不一樣的模板,最終欄目的網頁都是一個「模子」裏出來的,應此這個欄目的網頁外觀、風格是一致的。html
PHPCMS的模板按照模塊功能,分別放在這些模塊名字命名的目錄下面,而其中最重要的內容欄目模板,如新聞、產品、信息、圖片、下載、視頻以及首頁的模板則放到phpcms目錄下面。sql
phpcms目錄,header.html,footer.html是網站全部網頁的頁頭和頁尾模板,index.html則是網站首頁模板。文件 category.html和list.html 是新聞模型的欄目首頁和欄目列表頁,因爲phpcms認爲新聞模型是最重要的吧,所以新聞模型的模板默認不要帶後綴,其餘模型的欄目首頁和列表頁則要帶上後綴,如category-info.html,list-info.html,這是信息欄目模型的欄目首頁、欄目列表頁,其餘相似。至於一些擴充模型,如黃頁等,其模板則在\yp\目錄下面。數據庫
下面說說模板生成網頁的過程。服務器
phpcms的網頁容許生成靜態網頁和動態網頁,無論是靜態仍是動態,風格都由模板限定。首先,網站管理員要把相應模型的模板放到模板目錄下面,並在管理後臺設定模板方案,肯定後,phpcms將把模板編譯爲相應的php文件,保存到\data\cache_template 下面。編譯過程實際上就幾條語句,把模板中的phpcms語句轉換爲php語句,把數據標籤翻譯爲sql數據庫操做語句,這就成了標準的php文件,服務器能夠直接執行了。對於動態網頁來講,工做已經完成了。靜態網頁則還要作一次「置換」,執行php模板文件,按照php語法執行sql語句,把sql語句輸出的結果再和模板結構部門組合成網頁文件(html),並寫到服務器空間裏面。網站
這就是pgpcms系統的模板機制,靈活運用這個機制,能夠設定不一樣子欄目靈活多變的模板。phper也要注意的是,直接改\data\cache_template\下面的php模板文件是沒用的,必須改\templates\下面的靜態模板。翻譯