DedeCMS(織夢)採用基於 XML 命名空間的模板引擎,標籤語法直觀靈活,支援屬性傳遞、內建函數處理、甚至 PHP 代碼嵌入。本文整理官方文檔核心內容,供開發者快速查閱。
| 形式 | 語法範例 | 適用場景 |
|---|---|---|
| 單標籤 | {dede:tagname attr='value'/} | 無需內容區塊,如全域變數輸出 |
| 雙標籤(無內容) | {dede:tagname attr='value'}{/dede:tagname} | 需底層模板支援的標籤(如 arclist、list) |
| 雙標籤(自定義內容) | {dede:tagname attr='value'}InnerText{/dede:tagname} | 自定義循環輸出樣式 |
重要:帶底層模板的標籤必須使用雙標籤形式,否則報錯。
{dede:global name='cfg_cmspath'/}
{dede:global name='cfg_webname'}{/dede:global}
name 不含 $ 符號(如 $cfg_cmspath 寫成 cfg_cmspath)。{dede:foreach array='myarray'}
[field:key/] => [field:value/]
{/dede:foreach}
{dede:include file='header.htm' ismake='yes'/}
ismake='yes':視為 Dede 模板解析;'no':原樣輸出。所有標籤支援 function 屬性對輸出值二次加工,@me 代表當前標籤值。
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S", @me)'/}
@me 固定為最後一個參數。{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456"; // 將結果賦回 @me
{/dede:tagname}
echo/print,所有輸出必須賦值給 @me。runphp 後,標籤內容視為 PHP 代碼,不再解析底層模板(InnerText 失效)。| 標籤 | 用途 | 常用屬性 |
|---|---|---|
arclist | 文檔列表(首頁/欄目調用) | row, col, typeid, orderby, titlelen |
| 列表頁分頁列表 | pagesize, orderby, titlelen | |
field | 單一文檔欄位輸出 | name (欄位名) |
channel | 欄目導航列表 | type, row, noself |
sql | 任意 SQL 查詢輸出 | sql (語句) |
function 格式化日期、截斷標題、處理縮圖,減少 PHP 代碼嵌入。include/extend.func.php,模板中呼叫。