338
織夢DedeCMS
模板標簽語法簡介_織夢CMS幫助中心
模板標簽語法簡介
在了解DedeCms的主要模板文件與功能之後,接下來學習織夢模板引擎的知識。織夢模板引擎是一種使用XML名字空間形式的模板解析器,使用織夢解析器解析模板的最大好處是可以輕鬆的製定標記的屬性,感覺上就像在用HTML一樣,使模板代碼十分直觀靈活,新版的織夢模板引擎不單能實現模板的解析還能分析模板裏錯誤的標記。
1、織夢模板引擎的代碼樣式有如下幾種形式:
{dede:標記名稱 屬性='值'/}
{dede:標記名稱 屬性='值'}{/dede:標記名稱}
{dede:標記名稱 屬性='值'}自定義樣式模板(InnerText){/dede:標記名稱}
{dede:標記名稱commet="這是調用xxx變量標簽" 屬性='值'/}
提示:如果使用帶底層模板的標記,必須嚴格用{dede:標記名稱 屬性='值'}{/dede:標記名稱} 這種格式,否則會報錯。模板標簽的屬性,決定了模板標記輸出的形式,例如arclist標簽主要功能是列出文檔列表,但列出什麼內容、按照什麼方式進行排序等取決於模板標簽的屬性。在織夢的模板標簽說明中含有各個模板的標簽屬性可以詳細查閱。
織夢標簽的模板注釋非常靈活,可以通過標簽後麵的commet屬性進行賦值。在模板引擎將標簽解析為html的時候,commet的內容是被忽略掉不去解析的,用戶在閱讀模板標記的時候可以更好的理解標簽的意義。
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("%Y-%m-%d %H:%M:%S","@me")'/}
4、織夢標記允許有限的編程擴展。
格式為:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname}
@me 表示這個標記本身的值,因此標記內編程是不能使用echo之類的語句的,隻能把所有返回值傳遞給@me。
此外由於程序代碼占用了底層模板InnerText的內容,因此需編程的標記隻能使用默認的InnerText。
最後更新:2016-12-29 14:26:07