DedeCMS V5.3 內建 {dede:sql} 標籤,讓模板直接執行 SQL 查詢並輸出結果。善用此功能可大幅減少二次開發工作量。
{dede:sql sql="完整 SQL 查詢語句"}
底層模板:[field:欄位名/]
{/dede:sql}
所有查詢欄位均可用 [field:欄位名/] 呼叫。
| 功能 | SQL 範例 |
|---|---|
| 新增自訂屬性 | INSERT INTO `dede_arcatt`(sortid,att,attname) VALUES(9,'d','評論'); ALTER TABLE `dede_archives` MODIFY `flag` SET ('c','h','p','f','s','j','a','b','d') DEFAULT NULL; |
| 批量賦值作者/來源 | UPDATE dede_archives SET writer='值' WHERE writer=''; UPDATE dede_archives SET source='值' WHERE source=''; |
| 刪除指定 IP 評論 | DELETE FROM `dede_feedback` WHERE `ip` = '0.0.0.0'; |
| 清空關鍵字欄位 | UPDATE dede_archives SET keywords=''; |
| 批量替換發布/入庫/更新時間 | 先新增一筆文章取得時間戳,再 UPDATE dede_archives SET pubdate=時間戳, senddate=時間戳, sortrank=時間戳; |
| 批量修改欄目動態/靜態 | UPDATE `dede_arctype` SET `isdefault` = '-1'; -- 動態 / = '1' -- 靜態 |
| 文章內容批量替換 | UPDATE `dede_addonarticle` SET body=REPLACE(body,'論壇','社區') WHERE body LIKE '%論壇%'; |
| 調用目標 | 標籤範例 |
|---|---|
| 統計:文章/圖集/軟體/評論/會員/閱讀/今日更新/留言 | {dede:sql sql="SELECT COUNT(*) AS c FROM dede_archives WHERE channel=1"}文章:[field:c/]篇{/dede:sql} 等 |
| Discuz 論壇帶圖附件貼文 | 聯結 cdb_p_w_uploads + cdb_threads,篩選圖片類型,LIMIT 0,2 |
| UCHOME 最新日誌 | SELECT subject,viewnum,blogid,uid FROM uchome_blog ORDER BY blogid DESC LIMIT 0,8 |
| 會員積分排行 | SELECT mid,userid,uname,scores FROM dede_member ORDER BY scores DESC LIMIT 0,10 |
| 企業最新產品(圖+標題) | 聯結 dede_addonshop + dede_archives,LIMIT 0,4 |
| 最新企業+行業代碼 | 多表聯結 dede_sys_enum、dede_member、dede_member_company |
| 推薦會員/企業(含頭像) | 判斷頭像為空時顯示預設圖:[field:face runphp='yes'] if(!@me) @me='/預設圖.gif'; [/field:face] |
| UCenter Home 會員(帶頭像) | 查詢 uchome_space,組合 avatar.php 網址 |
LIMIT 避免效能問題。