百度优化第一人 发表于 2013-4-7 06:11:09

如何实现dede 调用Discuz! 2.5论坛的内容

结合网上关于dede调用dz7.0以前的教程,得出dede调用dx静态论坛最新方法:
1 论坛最新主题调用方法:
{ dede:loop table="cdb_threads" sort="tid" row="10" }

•()

{ /dede:loop }

复制代码2 论坛指定版块帖子调用方法:
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } //精华贴在IF里加 AND digest>0



{ /dede:loop }

复制代码3 论坛置顶版块帖子调用方法:
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }



{ /dede:loop }

4 论坛版块名称调用方法:
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
]•
{ /dede:loop }

1.第4种方法这个还有点问题,它会将论坛分区、版块都调出来。望达人改进!
  2.图片调用望哪个达人能够附出!
附:dedecms的LOOP 标记规则
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
适用范围:所有模板
(1) 基本语法
{ dede:loop table=' sort='' row='' if='' }
底层模板
{ dede:loop }
(2) 属性
table 表示查询的数据表
sort 用于排序的字段 也可以加"views"(查看次数排列)
row 返回结果的条数
if 查询条件
(3)底层模板变量
这个标记的底层模板变量即是被查询表的所有字段

5 调用论坛帖子中的图片
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, `cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}


{/dede:sql}



1. dede调用 Dx1.0之后,包括dx1.5,dx2.0 静态论坛最新主题的方法:(伪静态)
2、论坛指定版块帖子调用方法:(伪静态)
{dede:loop table="pre_forum_thread" sort="tid" row="12"}
<li><a href="/bbs/thread--1-1.html"target="_blank"></a><br/>{/dede:loop} </li>
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
3、论坛调精华主题调用代码如下:(伪静态)
{dede:loop table=“pre_forum_thread” if="displayorder!=-1" sort="tid" row="10"}   
<a href="/bbs/thread--1-1.html">   
·()</a>   
<br/>{/dede:loop}
4. 如果想调用某个板块的精华主题代码如下:(伪静态)
{dede:loop table=“pre_forum_thread” if="fid=5 and displayorder!=-1" sort="tid" row="10"}   
<a href="/bbs/thread--1-1.html">
·()</a>   
<br/>{/dede:loop}
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
5、调用的帖子列表这可以按查看次数排序,(伪静态)
{dede:loop table=“pre_forum_thread” sort="views" row="10"}   
<a href="/bbs/viewthread.php?tid=">   
·()</a>   
<br/>{/dede:loop}
其中sort="views" 就是控制按照查看次数排序的代码
6、论坛置顶版块帖子调用方法举例:(伪静态)
{ dede:loop table=“pre_forum_thread” sort="dateline" if="fid='3' and typeid='51'" row="10" }   
<a href="/bbs/thread--1-1.html" target="_blank">   
·</a> <br>   
{ /dede:loop }

admin 发表于 2013-4-7 07:10:10

调用Discuz论坛伪静态地址代码,dedecms数据库和discuzx数据库不在同一库内{dede:loop table="discuzbbs.pre_forum_thread " sort="tid" row="10"}
<a href="http://bbs.xx.com/thread--1-1.html" target="_blank">

</a>
{/dede:loop}


说明:discuzbbs.pre_forum_thread,其中红色的“discuzbbs”是discuz论坛的数据库名,pre_forum_thread是帖子表名,pre_替换为你的具体的表前缀。由此,也能看出DedeCMS的数据库和discuz的数据库不在同一个库内。
注:非同一库内的数据调用格式:discuz论坛数据库名.   ps.记得后面的点。调用指定论坛版块语句:if="fid=* or fid=* or fid=* and displayorder!=-1"
蓝色字体就是你的论坛地址   过这这能调用第一页的内容 thread--1-*.html *代表页数
页: [1]
查看完整版本: 如何实现dede 调用Discuz! 2.5论坛的内容