首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

DedeCMS 標籤語法官方參考指南:模板引擎核心標籤詳解

     編輯:PHP 綜合知識

前言

DedeCMS(織夢)採用基於 XML 命名空間的模板引擎,標籤語法直觀靈活,支援屬性傳遞、內建函數處理、甚至 PHP 代碼嵌入。本文整理官方文檔核心內容,供開發者快速查閱。

1. 標籤語法三種形式

形式語法範例適用場景
單標籤{dede:tagname attr='value'/}無需內容區塊,如全域變數輸出
雙標籤(無內容){dede:tagname attr='value'}{/dede:tagname}需底層模板支援的標籤(如 arclist、list)
雙標籤(自定義內容){dede:tagname attr='value'}InnerText{/dede:tagname}自定義循環輸出樣式

重要:帶底層模板的標籤必須使用雙標籤形式,否則報錯。

2. 系統內建標籤

global:獲取全域變數

{dede:global name='cfg_cmspath'/}
{dede:global name='cfg_webname'}{/dede:global}
  • name 不含 $ 符號(如 $cfg_cmspath 寫成 cfg_cmspath)。
  • 除資料庫密碼外,所有系統配置參數皆可調用。

foreach:迴圈輸出陣列

{dede:foreach array='myarray'}
    [field:key/] => [field:value/]
{/dede:foreach}

include:引入外部檔案

{dede:include file='header.htm' ismake='yes'/}
  • ismake='yes':視為 Dede 模板解析;'no':原樣輸出。
  • 搜尋順序:絕對路徑 → include 目錄 → CMS 安裝目錄 → 主模板目錄。

3. 函數處理:function 屬性

所有標籤支援 function 屬性對輸出值二次加工,@me 代表當前標籤值。

{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S", @me)'/}
  • 參數可多個,@me 固定為最後一個參數。
  • 函數需預先定義或為 PHP 內建函數。

4. PHP 代碼嵌入:runphp='yes'

{dede:tagname runphp='yes'}
$aaa = @me;
@me = "123456"; // 將結果賦回 @me
{/dede:tagname}
  • 嚴禁使用 echo/print,所有輸出必須賦值給 @me。
  • 啟用 runphp 後,標籤內容視為 PHP 代碼,不再解析底層模板(InnerText 失效)。

5. 常用標籤速查表

標籤用途常用屬性
arclist文檔列表(首頁/欄目調用)row, col, typeid, orderby, titlelen
列表頁分頁列表pagesize, orderby, titlelen
field單一文檔欄位輸出name (欄位名)
channel欄目導航列表type, row, noself
sql任意 SQL 查詢輸出sql (語句)

6. 開發技巧

  • 善用 function 格式化日期、截斷標題、處理縮圖,減少 PHP 代碼嵌入。
  • 複雜邏輯建議寫成自訂函數放入 include/extend.func.php,模板中呼叫。
  • 開啟模板緩存(後台設定)提升渲染效能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved