dedecms使用sql語(yǔ)句調(diào)用文章靜態(tài)鏈接地址的方法
來(lái)源:易賢網(wǎng) 閱讀:797 次 日期:2014-11-27 15:05:39
溫馨提示:易賢網(wǎng)小編為您整理了“dedecms使用sql語(yǔ)句調(diào)用文章靜態(tài)鏈接地址的方法”,方便廣大網(wǎng)友查閱!

本文實(shí)例講述了dedecms使用sql語(yǔ)句調(diào)用文章靜態(tài)鏈接地址的方法。分享給大家供大家參考。具體分析如下:

很多時(shí)候我們用織夢(mèng)后臺(tái)調(diào)用數(shù)據(jù)的時(shí)候,自帶的標(biāo)簽很多時(shí)候都沒(méi)辦法調(diào)用我們要的數(shù)據(jù),因此要自己寫(xiě)sql去調(diào)用,之前有個(gè)問(wèn)題搞了兩天都沒(méi)搞出來(lái),后來(lái)看到下面這個(gè)文章,問(wèn)題解決了.

使用dedecms這個(gè)程序建站有五年多的時(shí)間了,期間建了不少網(wǎng)站,歡迎各位朋友找我建站.

補(bǔ)充:

發(fā)布這篇文章后,無(wú)意間發(fā)現(xiàn)在了dedecms的GetOneArchive,只要傳入一個(gè)文檔id就可以獲得文章鏈接了,其實(shí)這個(gè)函數(shù)返回的的文章信息數(shù)組包含了:鏈接地址,標(biāo)題,文章ID,欄目ID,這里只需要文章鏈接地址,具體代碼如下:

復(fù)制代碼代碼如下:{dede:sql sql="select * From dede_archives a where a.title like '%織夢(mèng)建站%' and a.arcrank>-1 limit 8"}

<</code>li><</code>a title="[field:title/]" href="[field:id runphp='yes']$url=GetOneArchive(@me);@me=$url['arcurl'];[/field:id]">[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]</</code>a></</code>li>

{/dede:sql}

如果你僅僅需要調(diào)用文章的鏈接地址該方法不失為一個(gè)快捷的方法,文章下部分介紹的方法較為復(fù)雜,但如果你想調(diào)用文章鏈接地址的同時(shí)還想調(diào)用欄目名稱(chēng)不妨試下.

為什么要使用dede:php,dede:sql

在一些比較復(fù)雜的調(diào)用中用dede:arclist標(biāo)簽是解決不了問(wèn)題的,比如說(shuō)大家常說(shuō)的調(diào)用某一會(huì)員發(fā)布的文章等等之類(lèi),這些一般要通過(guò)dede:sql標(biāo)簽來(lái)實(shí)現(xiàn).

今天我所說(shuō)的調(diào)用也是比較特殊的就是在首頁(yè)調(diào)用指定關(guān)鍵字的文章,其實(shí)這個(gè)跟dedecms的相關(guān)文章標(biāo)簽類(lèi)似,這里給大家分享兩種方法.

dede:sql標(biāo)簽調(diào)用指定關(guān)鍵字文章靜態(tài)地址,這里引用dedecms官方關(guān)于dede:sql的介紹.

Sql標(biāo)記

功能說(shuō)明:用于從模板中用一個(gè)SQL查詢(xún)獲得其返回內(nèi)容。

適用范圍:非擴(kuò)展模塊所有模板。

(1)語(yǔ)法:{dede:sql sql="這里寫(xiě)sql語(yǔ)句"}底層模板{/dede:sql}

(2)屬性:[1] sql 完整的SQL查詢(xún)語(yǔ)句。

(3)底層模板:SQL語(yǔ)句中查出的所有字段都可以用[field:字段名/]來(lái)調(diào)用。

好了了解dede:sql標(biāo)簽后,就可以根據(jù)自己的需求寫(xiě)sql語(yǔ)句了,我這里是要調(diào)用指定關(guān)鍵字的文章,sql語(yǔ)句如下:

復(fù)制代碼代碼如下:"select * From dede_archives a where a.arcrank>-1 and a.title like '%腳本%' limit 8"

語(yǔ)句解析:a.arcrank>-1限制調(diào)用已審核的文章;like '%腳本%'調(diào)用指定關(guān)鍵字的文章;limit 8為調(diào)用條數(shù)為8條

然后就開(kāi)始寫(xiě)完整的標(biāo)簽和底層模板了,如下:

1、首先解決完整標(biāo)題和截字問(wèn)題:我使用的是[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]這種方法相信大家也經(jīng)常用到,這里就不多作介紹了,以后可能會(huì)專(zhuān)門(mén)弄個(gè)文章介紹這種用法。50就是截字長(zhǎng)度

2、解決dede:sql標(biāo)簽靜態(tài)文章地址問(wèn)題:這里比較麻煩了,我在網(wǎng)上轉(zhuǎn)了一下,多數(shù)給出的解決辦法就是href="/plus/view.php?aid=[field:id/]",顯然這不是我想要的這不是靜態(tài)地址,而其他地址用arclist調(diào)用的又是靜態(tài)地址,結(jié)果就成了一篇文章有兩個(gè)地址一個(gè)靜態(tài)一個(gè)動(dòng)態(tài),這對(duì)seo來(lái)說(shuō)顯然不友好,最好通過(guò)自己折騰終于成功了

3、解決id不能正確獲取的問(wèn)題:之前沒(méi)注意到因?yàn)閐ede_arctype和dede_archives兩個(gè)表id字段名是一樣的,以至于底層模板獲取不到正確的id,之前select改了下,增加了別名。

dede:sql調(diào)用文章靜態(tài)鏈接地址的完美方法

復(fù)制代碼代碼如下:{dede:sql sql="select * From dede_archives a, dede_arctype t where a.typeid = t.id and a.title like '%生活小竅門(mén)%' and a.arcrank>-1 limit 8"}

<</code>li><</code>a title="[field:title/]" href="[field:array runphp='yes'] @me=GetFileUrl(@me['id'],@me['typeid'],@me['senddate'],@me['title'],@me['ismake'],@me['arcrank'],@me['namerule'],@me['typedir'],@me['money']); [/field:array]">[field:title runphp='yes']@me=cn_substr(@me, 50);[/field:title]</</code>a></</code>li>

{/dede:sql}

不管怎么說(shuō)總算還是實(shí)現(xiàn)了我想要的效果,后來(lái)想了想用dede:php標(biāo)簽如何實(shí)現(xiàn)這個(gè)效果呢,其實(shí)方法和dede:sql標(biāo)簽是一樣的,也就不多說(shuō)什么了,直接貼代碼:

復(fù)制代碼代碼如下:{dede:php}

$dsql->SetQuery("select a.id as aid, t.id as tid,typeid,senddate,title,ismake,arcrank,namerule,typedir From dede_archives a, dede_arctype t where a.typeid = t.id and a.title like '%生活小竅門(mén)%' and a.arcrank>-1 limit 8");

$dsql->Execute();

while($row = $dsql->GetArray()){

echo '<</code>li><</code>a title="'.$row['title'].'" href="'.GetFileUrl($row['aid'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],$row['namerule'],$row['typedir'],$row['money']).'">'.cn_substr($row['title'], 50).'</</code>a></</code>li>';

}

{/dede:php}

希望本文所述對(duì)大家的dedecms建站有所幫助。

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看CMS教程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!
相關(guān)閱讀CMS教程

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
咨詢(xún)QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)