織夢的模板標簽類似于XML格式,所有的模板都含有定界符,默認情況下是{dede:*}和{/dede:*},“*”代表模板標記名稱。
一般情況下{dede:*}和{/dede:*}是成對出現的,例如:
例1-1:
{dede:arclist flag='h' limit='0,1'}
[field:title/]
[field:description/]...[查看全文]
{/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='調用頭條的第一篇內容'}
[field:titlecommet="這是文章標題標簽"/]
[field:description commet="這是摘要標簽"/]...[查看全文]
{/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。