DedeCMS的模板標簽語法

DedeCMS的模板標簽語法

織夢的模板標簽類似于xml格式,所有的模板都含有定界符,默認情況下是{dede:*}和{/dede:*},“*”代表模板標記名稱。

一般情況下{dede:*}和{/dede:*}是成對出現的,例如:? ? ? ? ? ? ? ? ? ? ?(推薦學習:dedecms教程

例1-1:

{dede:arclist?flag='h'?limit='0,1'} <h2><a>[field:title/]</a></h2> <p>[field:description/]...<a>[查看全文]</a></p> {/dede:arclist}

上面的{dede:arclist}和{/dede:arclist}成對出現在模板文件中,并且在兩個標簽當中包含了底層模板(innertext)。

底層模板(Innertext),底層模板實際上就是對于有多條記錄的模板輸出,用戶手工去指定單個記錄的樣式。

標簽還有一類出現形式是{dede:*/},通常以這種形式出現都是輸出變量、或者不含底層模板的內容。

例如:1-2

{dede:global.cfg_webname/} {dede:arclist?flag='h'?limit='0,1'/}

如果用戶沒有指定單個記錄的樣式,系統部分標簽都含有默認的底層模板,具體可以查看{cmapath}/templets/system/文件夾下面的文件,這里面都是系統的底層模板文件。

注釋

織夢標簽的模板注釋非常靈活,可以通過標簽后面的commet屬性進行賦值。

例1-3:

{dede:arclist?flag='h'?limit='0,1'?commet='調用頭條的第一篇內容'} <h2><a>[field:titlecommet="這是文章標題標簽"/]</a></h2> <p>[field:description?commet="這是摘要標簽"/]...<a>[查看全文]</a></p> {/dede:arclist}

在模板引擎將上述標簽解析為html的時候,commet的內容是被忽略掉不去解析的,用戶在閱讀模板標記的時候可以更好的理解標簽的意義。

函數

每一個織夢的標簽都可以使用自定義函數對其進行擴展,自定義函數內容主要用于對當前標簽輸出內容進行處理。

例1-4:

{dede:標記名稱function='youfunction("參數一","參數二","@me")'/}

其中 @me 用于表示當前標記的值,其它參數由你的函數決定是否存在,例如:

{dede:field.pubdate?function='strftime("%Y-%m-%d?%H:%M:%S","@me")'/}

屬性

模板標簽的屬性,決定了模板標記輸出的形式,例如arclist標簽主要功能是列出文檔列表,但列出什么內容、按照什么方式進行排序等取決于模板標簽的屬性。

在織夢的模板標簽說明中含有各個模板的標簽屬性可以詳細查閱。

可以查看例1-1中的flag=’h’ limit=’0,1’,這里flag和limit是標簽的相關屬性,通過手冊可以查閱屬性的介紹。

如果模板標簽如果沒有列出屬性,系統有默認屬性值,用戶可以參考模板標簽說明查看默認屬性。

編程

織夢模板很方便的一個地方就是支持簡單的模板編程。

格式為:

{dede:tagname?runphp='yes'} $aaa?=?@me; @me?=?"123456"; {/dede:tagname}

@me 表示這個標記本身的值,因此標記內編程是不能使用echo之類的語句的,只能把所有返回值傳遞給@me。

此外由于程序代碼占用了底層模板InnerText的內容,因此需編程的標記只能使用默認的InnerText。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享