当前位置:首页 > 行业动态 > 正文

如何实现在织梦CMS中调用Discuz! X1.5的数据?

织梦CMS与DZ X1.5是两个不同的系统,直接调用数据需要通过API接口或数据库操作。

在织梦CMS中调用Discuz! X1.5的相关数据,通常涉及到论坛的帖子、用户信息和图片等内容,以下是详细的调用方法和示例:

如何实现在织梦CMS中调用Discuz! X1.5的数据?  第1张

调用活跃会员

可以使用DedeCMS的{dede:loop}标签来循环显示活跃会员的信息,要展示信用排名前5的活跃会员,可以这样写:

{dede:loop table="pre_common_member" sort="credits" row="5" infolen='4'}
<tr>
<td><div ><A href="/bbs/home.php?mod=space&uid=[field:uid /]" target="_blank"><IMG src="/bbs/uc_server/avatar.php?uid=[field:uid /]&size=middle" width="35" height="26"></A><A rel="nofollow noopener noreferrer" href="/bbs/home.php?mod=space&uid=[field:uid /]" target="_blank" >[field:username/]</A></div></td>
</tr>
{/dede:loop}

调用指定板块帖子

使用{dede:loop}标签来调用特定板块的帖子,要调用板块ID为42的帖子,可以这样做:

{dede:loop table="pre_forum_thread" if="fid=42" sort="tid" row="4"}
<li >
<a href="/bbs/forum.php?mod=viewthread&tid=[field:tid /]&extra=page%3D1" target="_blank" >·[field:subject function="cn_substr('@me',30)" /]</a> </li> {/dede:loop}

调用帖子中的图片

由于{dede:loop}标签无法直接调用帖子中的图片,因此需要使用{dede:sql}标签来实现,要调用带有图片的帖子,可以这样写:

{dede:sql sql="SELECTpre_forum_attachment.aid,pre_forum_attachment.attachment,pre_forum_thread.tid,pre_forum_thread.fid,pre_forum_thread.subject FROMpre_forum_attachment LEFT JOINpre_forum_thread ONpre_forum_thread.tid=pre_forum_attachment.tid WHEREpre_forum_attachment.readperm='0' ANDdisplayorder>='0' ANDfiletype='application/octetstream' GROUP BY tid LIMIT 1,5 "}
<div >
<div >
<a rel="nofollow noopener noreferrer" href="/bbs/forum.php?mod=viewthread&tid=[field:tid /]"><br/><img src="/bbs/data/attachment/forum/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> </a><br/>
</div>
<div  >
<a rel="nofollow noopener noreferrer" href="/bbs/forum.php?mod=viewthread&tid=[field:tid /]">[field:subject function="cn_substr('@me',18)"/]</a><br/>
</div>
</div> {/dede:sql}

调用整个论坛最新帖子

如果要调用整个论坛的最新帖子,可以使用以下代码:

{dede:loop table='cdb_threads' sort='tid' row='10' if=''}
<a href="/bbs/forum.php?mod=viewthread&tid=[field:tid /]" target="_blank">[field:subject /]</a> {/dede:loop}

调用指定版块的最新帖子

如果要调用某个版块(如版块ID为42)的最新帖子,可以使用以下代码:

{dede:loop table='cdb_threads' sort='tid' row='10' if='fid=42'}
<a href="/bbs/forum.php?mod=viewthread&tid=[field:tid /]" target="_blank">[field:subject /]</a> {/dede:loop}

相关问答FAQs

问题1:如何调用Discuz! X1.5论坛置顶帖子?

答:可以使用以下代码来调用置顶帖子:

{dede:loop table='sq_forum_thread' row='条数' if='fid=板块ID and displayorder!=0'}
<a href='[field:global.cfg_cmspath/]/bbs/forum.php?mod=viewthread&tid=[field:tid /]'>[field:subject function="cn_substr('@me',30)" /]</a> 
{/dede:loop}

问题2:如何调用Discuz! X1.5论坛高亮帖子?

答:可以使用以下代码来调用高亮帖子:

{dede:loop table='sq_forum_thread' row='条数' if='fid=板块ID and highlight!=0'}
<a href='[field:global.cfg_cmspath/]/bbs/forum.php?mod=viewthread&tid=[field:tid /]'>[field:subject function="cn_substr('@me',30)" /]</a> 
{/dede:loop}
0