DedeCMS 使用基于 XML 命名空間的模板解析器,標記語法直觀,屬性靈活,支持嵌套與錯誤檢測。三種基本形式:
{dede:標記名 屬性='值'/}
{dede:標記名 屬性='值'}{/dede:標記名}
{dede:標記名 屬性='值'}自定義內容{/dede:標記名}
注意:V3 版必須完整閉合 {/dede:標記名},不能簡寫為 {/dede}。
{dede:global name='cfg_cmspath'/} {* 不帶 $ 符號 *}
{dede:foreach array='myarr'}[field:key/] [field:value/]{/dede:foreach}
{dede:include file='header.htm'/} {* 搜索順序:絕對路徑 → include目錄 → 安裝目錄 → 主模板目錄 *}
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S", "@me")'/}
| 類型 | 命名 | 用途 |
|---|---|---|
| 封面/單頁 | index_識別ID.htm | 首頁、頻道封面、自定義單頁 |
| 列表頁 | list_識別ID.htm | 欄目文章列表 |
| 內容頁 | article_識別ID.htm | 文檔詳情、專題頁 |
| 系統通用 | search.htm, index.htm, rss.htm... | 搜索、主頁、RSS、JS編譯等 |
保存路徑:{cmspath}/templets/風格名/{功能模板},默認風格 default,系統底層 system,插件 plus。
作用:獲取指定文檔列表,最常用標記。
適用:封面、列表、文檔模板。
常用屬性:
| 屬性 | 說明 |
|---|---|
| typeid | 欄目ID,多個用逗號分隔;列表/文檔模板可不填 |
| row | 返回行數,配合 col 總數 = row * col |
| col | 分列顯示數(默認1) |
| titlelen | 標題截取長度 |
| infolen | 摘要長度 |
| imgwidth/imgheight | 縮略圖尺寸 |
| type | all(默認) / commend(推薦) / image(必須有圖) |
| orderby | senddate(默認)/hot/click/pubdate/sortrank/id |
| keyword | 關鍵字過濾,多個用逗號 |
| channelid | 頻道類型:-1專題/1文章/2圖集/3軟件/4Flash |
| limit | 記錄范圍,如 "0,5" 取前5條,"5,5" 取第6-10條 |
底層變量:id, title, typeid, description, pubdate, senddate, click, litpic, typedir, typename, arcurl, typeurl, stime, textlink, typelink, imglink, image
調用方式:[field:varname/]
語法:{dede:field name='字段名'/}
可用字段:
{dede:channel row='8' type='top/sun/self'}
<a href='[field:typelink/]'>[field:typename/]</a>
{/dede:channel}
type:top(頂級)、sun(下級)、self(同級)。后兩者需在列表模板中使用。
底層變量:ID, typename, typedir, typelink
{dede:mytag typeid='0' name='標記名' ismake='no'/}
搜索順序:當前欄目 → 父欄目 → 全局標記(typeid=0)。
ismake='yes' 表示標記內容包含其他封面標記,需二次解析。
{dede:vote id='投票ID' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' tablebgcolor='#FFFFFF'}{/dede:vote}
{dede:flink type='textall' row='4' col='6' titlelen='24' tablestyle=''}{/dede:flink}
type:textall/textimage/text/image。
{dede:mynews row='10' titlelen='30'}InnerText{/dede:mynews}
InnerText 支持:[field:title/] [field:writer/] [field:senddate/] [field:body/]
常用于論壇帖子調用,需配合插件。
唯一支持直接嵌套 {dede:type} 和 {dede:arclist} 的標記。適用于首頁「頻道+最新文章」塊狀布局。
{dede:channelartlist typeid='0' col='2' tablewidth='100%'}
{dede:type}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:type}
{dede:arclist row='8'}
· <a href="[field:arcurl/]">[field:title/]</a><br>
{/dede:arclist}
{/dede:channelartlist}
{dede:page pagesize='20'/}
{dede:list col='1' titlelen='30' infolen='150' orderby='senddate'}{/dede:list}
底層變量同 arclist。
{dede:pagelist listsize='3'/}
顯示 [1][2][3]... 樣式,listsize 為兩側頁碼數。
{dede:pagebreak/}
{dede:fieldlist}
[field:name/] : [field:value/]<br>
{/dede:fieldlist}
掌握以上 14 個核心標記及其屬性、底層變量、嵌套規則,即可應對 90% 以上的 DedeCMS 模板開發需求。建議收藏備查,實戰中多對照官方文檔與現有默認模板(templets/default/)學習。