在织梦系统(DedeCMS)中调用论坛帖子,可以通过以下几种方法实现:
1. 调用论坛最新主题
{dede:loop table="cdb_threads" sort="tid" row="10"}
<a href="/bbs/viewthread.php?tid=[field:tid /]">
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('md H:M','@me')" /])</a>
<br/>
{/dede:loop}
说明:此代码用于显示最新的10个论坛主题,链接地址可以是相对路径或绝对路径。
2. 调用指定版块的帖子
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=1" sort="tid" row="6" }
<a href="/bbs/viewthread.php?tid=[field:tid /]" target="_blank">
·[field:subject function="cn_substr(' @ me',50)" /] </a>
<br/>
{ /dede:loop }
说明:通过设置fid
参数,可以指定要显示的版块ID。fid=1 or fid=2
表示版块ID为1或2。
3. 调用精华主题
{dede:loop table="cdb_threads" if="displayorder!=1" sort="tid" row="10"}
<a href="/bbs/viewthread.php?tid=[field:tid /]">
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('md H:M','@me')" /])</a>
<br/>
{/dede:loop}
说明:该代码用于显示标记为精华的帖子,如果需要调用某个特定板块的精华主题,可以添加fid
条件,如fid=5 and displayorder!=1
。
4. 按查看次数排序的帖子列表
{dede:loop table="cdb_threads" sort="views" row="10"}
<a href="/dz/viewthread.php?tid=[field:tid /]">
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('md H:M','@me')" /])</a>
<br/>
{/dede:loop}
说明:该代码将按查看次数从高到低显示帖子列表。
5. 调用置顶版块帖子
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
<a href="/a/bbs/viewthread.php?tid=[field:tid /]" target="_blank">
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
{ /dede:loop }
说明:通过设置if
参数,可以筛选出置顶的帖子。fid='3' and typeid='51'
。
6. 调用论坛版块名称
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
<a href="/bbs/viewthread.php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
{ /dede:loop }
说明:该代码用于显示论坛的各个版块名称,注意,这种方法可能会将分区和版块都显示出来。
7. 调用帖子中的图片
{dede:sql sql="SELECTcdb_attachments.aid,cdb_attachments.attachment,cdb_threads.tid,cdb_threads.fid,cdb_threads.subject FROMcdb_attachments LEFT JOINcdb_threads ONcdb_threads.tid=cdb_attachments.tid WHEREcdb_attachments.readperm='0' ANDdisplayorder>='0' ANDfiletype LIKE 'image/%' GROUP BY tid LIMIT 0,1 "}
说明:这段SQL代码用于查询帖子中的图片信息,需要注意的是,这段代码还没有经过测试,具体效果需要自行验证。
FAQs
问题1:如何修改代码中的表前缀?
回答:在上述代码中,默认的表前缀是cdb_
,如果你的论坛表前缀不同,请将所有的cdb_
替换为你的实际表前缀,如果你的前缀是myprefix_
,则需要将代码中的cdb_threads
改为myprefix_threads
,以此类推。
问题2:是否可以将这些代码放在不同的数据库中运行?
回答:虽然理论上可以将织梦CMS和Discuz论坛放在不同的数据库中,但实际操作中可能会遇到一些问题,建议将它们放在同一个数据库中,这样更便于管理和数据调用,如果确实需要放在不同的数据库中,请确保数据库之间的连接和权限设置正确。