織夢的範本標籤類似XML格式,所有的範本都含有定界符,預設是{dede:*}和{/dede:*} ,「*」代表範本標記名稱。
一般情況下{dede:*}和{/dede:*}是成對出現的,例如: (推薦學習:dedecms教程)
範例1-1:
{dede:arclist flag='h' limit='0,1'} <h2><a href="[field:arcurl/]">[field:title/]</a></h2> <p>[field:description/]...<a href="[field:arcurl/]">[查看全文]</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 href="[field:arcurl commet="这是文章链接标签"/]">[field:titlecommet="这是文章标题标签"/]</a></h2> <p>[field:description commet="这是摘要标签"/]...<a href="[field:arcurl commet="这是文章链接标签"/]">[查看全文]</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。
以上是DedeCMS的模板標籤語法的詳細內容。更多資訊請關注PHP中文網其他相關文章!