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