DedeCMS頻道內容模型自定義與SQL標簽應用

字號:


    DedeCMS也提供頻道內容模型自定義功能,可以根據自己的需求建立頻道模型,類似KingCMS的自定義模塊。這篇文章不寫如何建立頻道內容模型,寫寫在首頁或非自定義頻道內容列表頁如果要調用里面的內容使用的SQL標簽。
    要使用SQL標簽,最基本的查看數據庫字段是一定要會的,特別是如果用自定義模型字段都是自己加的,不是系統(tǒng)默認的。
    先看下面這段調用的語句,我一行行解釋吧,這樣可能比較好理解。
    {dede:sql sql=" SELECT
    dede_addonevents.aid,
    dede_addonevents.typeid,
    dede_addonevents.events_place,
    dede_addonevents.begin_date,
    dede_addonevents.end_date,
    dede_events.ID,
    dede_events.typeid,
    dede_events.title,
    dede_events.description,
    dede_full_search.aid,
    dede_full_search.typeid,
    dede_full_search.url
    FROM dede_addonevents , dede_events , dede_full_search
    WHERE dede_addonevents.aid=dede_events.ID
    AND dede_events.ID=dede_full_search.aid
    ORDER BY dede_addonevents.aid DESC LIMIT 0, 4 " }
    [field:events_place/] [field:title function="cn_substr(@me,38)"/] [field:description function="cn_substr(@me,38)"/] [field:begin_date/] - [field:end_date /]
    {/dede:sql}
    dede_addonevents 和 dede_events 是自定義生成頻道之后自動生成的表,默認的系統(tǒng)中是沒有的。dede_full_search 這個表是存儲DedeCMS中所有文章或自定義頻道文章內容的路徑的表,這里要調用URL,一定是需要打開的。
    dede_addonevents.aid,
    dede_addonevents.typeid,
    dede_addonevents.events_place,
    dede_addonevents.begin_date,
    dede_addonevents.end_date,
    dede_events.ID,
    dede_events.typeid,
    dede_events.title,
    dede_events.description,
    這幾個都是自定義表中需要調取的字段,在自定義頻道生成的時候DedeCMS系統(tǒng)會自動加上.aid,.ID,.typeid,這樣的ID字段,以實現(xiàn)多表關聯(lián)查詢。
    這部分FROM dede_addonevents , dede_events , dede_full_search就不詳細解釋了,就是調用的表名。
    下面這個部分就是多表關聯(lián)查詢的條件語句了
    WHERE dede_addonevents.aid=dede_events.ID
    AND dede_events.ID=dede_full_search.aid
    當然是要ID能匹配上調用的內容才不出錯。
    ORDER BY dede_addonevents.aid DESC LIMIT 0, 4
    這句就是數據顯示的倒序正序了,Mysql支持LIMIT 0, 4 這個設置起始位置非常方便。
    [field:events_place/] [field:title function="cn_substr(@me,38)"/] [field:description function="cn_substr(@me,38)"/] [field:begin_date/] - [field:end_date /]
    這個部分就是DedeCMS的標簽了,自定義的時候會有字段名,跟系統(tǒng)默認標簽基本相近,方法也一致。標簽問題查看系統(tǒng)的幫助就可以。
    從這個語句可以看出,如果對DedeCMS的數據庫表和字段了解的夠清楚基本可以實現(xiàn)想調用什么數據就調用什么數據。以后有時間再看看可以不可以實現(xiàn)多個SQL查詢。