織夢的模板標(biāo)簽類似于XML格式,所有的模板都含有定界符,默認(rèn)情況下是{dede:*}和{/dede:*},“*”代表模板標(biāo)記名稱。
一般情況下{dede:*}和{/dede:*}是成對出現(xiàn)的,例如:
例1-1:
{dede:arclist flag='h' limit='0,1'}
[field:title/]
[field:description/]...[查看全文]
{/dede:arclist}
上面的{dede:arclist}和{/dede:arclist}成對出現(xiàn)在模板文件中,并且在兩個(gè)標(biāo)簽當(dāng)中包含了底層模板(innertext)。
底層模板(Innertext),底層模板實(shí)際上就是對于有多條記錄的模板輸出,用戶手工去指定單個(gè)記錄的樣式。
標(biāo)簽還有一類出現(xiàn)形式是{dede:*/},通常以這種形式出現(xiàn)都是輸出變量、或者不含底層模板的內(nèi)容。
例如:1-2
{dede:global.cfg_webname/}
{dede:arclist flag='h' limit='0,1'/}
如果用戶沒有指定單個(gè)記錄的樣式,系統(tǒng)部分標(biāo)簽都含有默認(rèn)的底層模板,具體可以查看{cmapath}/templets/system/文件夾下面的文件,這里面都是系統(tǒng)的底層模板文件。
注釋
織夢標(biāo)簽的模板注釋非常靈活,可以通過標(biāo)簽后面的commet屬性進(jìn)行賦值。
例1-3:
{dede:arclist flag='h' limit='0,1' commet='調(diào)用頭條的第一篇內(nèi)容'}
[field:titlecommet="這是文章標(biāo)題標(biāo)簽"/]
[field:description commet="這是摘要標(biāo)簽"/]...[查看全文]
{/dede:arclist}
在模板引擎將上述標(biāo)簽解析為html的時(shí)候,commet的內(nèi)容是被忽略掉不去解析的,用戶在閱讀模板標(biāo)記的時(shí)候可以更好的理解標(biāo)簽的意義。
函數(shù)
每一個(gè)織夢的標(biāo)簽都可以使用自定義函數(shù)對其進(jìn)行擴(kuò)展,自定義函數(shù)內(nèi)容主要用于對當(dāng)前標(biāo)簽輸出內(nèi)容進(jìn)行處理。
例1-4:
{dede:標(biāo)記名稱function='youfunction("參數(shù)一","參數(shù)二","@me")'/}
其中 @me 用于表示當(dāng)前標(biāo)記的值,其它參數(shù)由你的函數(shù)決定是否存在,例如:
{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S","@me")'/}
屬性
模板標(biāo)簽的屬性,決定了模板標(biāo)記輸出的形式,例如arclist標(biāo)簽主要功能是列出文檔列表,但列出什么內(nèi)容、按照什么方式進(jìn)行排序等取決于模板標(biāo)簽的屬性。
在織夢的模板標(biāo)簽說明中含有各個(gè)模板的標(biāo)簽屬性可以詳細(xì)查閱。
可以查看例1-1中的flag='h' limit='0,1',這里flag和limit是標(biāo)簽的相關(guān)屬性,通過手冊可以查閱屬性的介紹。
如果模板標(biāo)簽如果沒有列出屬性,系統(tǒng)有默認(rèn)屬性值,用戶可以參考模板標(biāo)簽說明查看默認(rèn)屬性。
編程
很方便的一個(gè)地方就是支持簡單的模板編程。
格式為:
{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456";
{/dede:tagname}
@me 表示這個(gè)標(biāo)記本身的值,因此標(biāo)記內(nèi)編程是不能使用echo之類的語句的,只能把所有返回值傳遞給@me。
此外由于程序代碼占用了底層模板InnerText的內(nèi)容,因此需編程的標(biāo)記只能使用默認(rèn)的InnerText。