dedecms調用Discuz!X2.5最新帖子和圖片的方法

2020-12-10


今天在整合dedecms和Discuz!的時候發現原來的調用不能用了,百度一下發現,自從Discuz!從7.0到Discuz!X1.5后,原有的表結構發生了變化,不僅如此,pre_forum_attachment表更是成了10個(pre_forum_attachment_0到pre_forum_attachment_9),又來的dede:loop和dede:sql調用方法顯然是不能用了,但是如何才能完美的調用論壇里面的圖片帖子呢?

  研究了一下午,終于找到了方法,Discuz!在把pre_forum_attachment表編程10個后,多了一個表,即:pre_forum_threadimage,這個表是專門用來存放一個主題中的樓主貼圖片附件中,寬度最大的一張圖片,這個圖片是用來論壇后臺添加外部鏈接是選擇只讀取有圖片的帖子時所用。所以這個方便多了,感覺有點像dedecms里面的flag='p'。

  好了,廢話一大堆,直接介紹方法:
 

{dede:sql sql="SELECT`pre_forum_threadimage`.`tid`,`pre_forum_threadimage`.`attachment`,`pre_forum_thread`.`subject` FROM `pre_forum_threadimage` LEFT JOIN `pre_forum_thread`ON`pre_forum_thread`.`tid`=`pre_forum_threadimage`.`tid` order by tid desc LIMIT 0,2"}{/dede:sql}
 

其中鏈接為:你的論壇地址:您的論壇網址/forum.php?mod=redirect&tid=[field:tid /]&goto=lastpost#lastpost

如果是靜態化,那么就是這樣的:您的論壇網址/thread-[field:tid /]-1-1.html

標題:[field:subject/]                        

圖片:/data/attachment/forum/[field:attachment/]

 

最終就是這樣的:
 

{dede:sql sql="SELECT`pre_forum_threadimage`.`tid`,`pre_forum_threadimage`.`attachment`,`pre_forum_thread`.`subject` FROM `pre_forum_threadimage` LEFT JOIN `pre_forum_thread`ON`pre_forum_thread`.`tid`=`pre_forum_threadimage`.`tid` order by tid desc LIMIT 0,6"} <dl> <dt><a href="論壇網址/thread-[field:tid /]-1-1.html"{target}><img src="論壇網址/data/attachment/forum/[field:attachment/]" alt="[field:subject/]" /></a></dt> <dd><a href="論壇網址/thread-[field:tid /]-1-1.html" title="[field:subject/]" target="_blank">[field:subject/]</a></dd> </dl> {/dede:sql}
 

下面介紹如何調用帖子,調用帖子就比較簡單了,直接上代碼吧:
 

{dede:sql sql="select subject,tid from pre_forum_thread order by tid desc limit 0,6"} <li><a href="論壇網址/thread-[field:tid /]-1-1.html" title="[field:subject /]" target="_blank">[field:subject /]</a></li> {/dede:sql}
 

  里面的limit 0,6這個就不用我說了吧,order by tid desc ,這個的意思是按照tid從大到小讀取,也就是最新發表。OK。測試一下吧!順便說一下,這樣調出來的圖片有點大,因為畢竟人家存的是最寬的一張一片嘛,但是權益下來,這樣還是比較好的,反正一般都不多!

本人也是百度、論壇等等地方找了拼湊起來的,如有不正確之處,請留言指出,相互交流,學習!

0
首頁
案例
關于
聯系
凯时平台