dedeCMS織夢內容管理系統以其優越的性能、穩定性和強大的功能優勢,在國內擁有最大的用戶群,今天我們分析一下這款功能強大的內容管理系統的模板引擎是如何運作的。
織夢模板引擎是一種使用XML名字空間形式的模板解析器,使用織夢解析器解析模板的最大好處是可以輕鬆的製定標記的屬性,感覺上就像在用HTML一樣,模板標籤程式碼簡潔易用,簡單易懂,新版的織夢模板引擎不但能實現模板的解析還能分析模板裡錯誤的標記。
1、織夢模板引擎的程式碼樣式有下列幾種形式:
{dede:標記名稱屬性='值'/}
# {dede:標記名稱屬性='值'}{/dede:標記名稱}
{dede:標記名稱屬性='值'}底層模板(InnerText){/dede:標記名稱}
############################################################### #提示: ###### 如果使用底層範本的標記,必須嚴格地用{dede:標記名稱屬性='值'}{/dede:標記名稱} 這種格式,否則會報錯。 #########2、織夢模板引擎內建有多個系統標記,這些系統標記在任何場合都是直接使用的。 ###### ###### (1) global 標記,表示取得外部變數###,除了資料庫密碼之外,能呼叫系統的任何設定參數,形式為: ### {dede: global name='變數名稱'}{/dede:global} ### 或 ### {dede:global name='變數名稱'/} ### 其中變數名稱不能加$ 符號,如變數$cfg_cmspath,應該變數名稱不能加$寫成{dede:global name='cfg_cmspath'/} 。 ### ###(2) foreach 用來輸出一個數組,###形式為: ### {dede:foreach array='數組名稱'}[field:key/] [field:value/]{/ dede:foreach} ### ###(3) include 引入一個檔案###,形式為: ### {dede:include file='檔案名稱' ismake='是否為dede板塊模板(yes/no) '/} ### 對檔案的搜尋路徑為順序為:絕對路徑、include資料夾,CMS安裝目錄,CMS主模板目錄 #########3、織夢標記允許在任何標記中使用函數對所得的值進行處理######,形式為: ### {dede:標記名稱屬性='值' function='youfunction("參數一","參數二","@me ")'/} ### 其中@me 用來表示目前標記的值,其它參數由你的函數決定是否存在,例如: ### {dede:field name='pubdate' function='strftime("% {dede:field name='pubdate' function='strftime("% Y-%m-%d %H:%M:%S","@me")'/} ##########4、織夢標記允許有限的程式擴展。 ######### 格式為: ######
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "bbscms.net";
{/dede:tagname}
###### @me 表示這個標記本身的值,因此標記內程式設計是不能使用echo之類的語句的,只能把所有回傳值傳遞給@me。 ### 此外由於程式碼佔用了底層模板InnerText的內容,因此需編程的標記只能使用預設的InnerText。 #########如果你想了解更多關於dedecms的知識,可以點選:#########DEDECMS教學##############################
以上是dedecms是什麼原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!