公告:如果您的账号不能登录,可能是系统对您账号进行了保护,我们发现系统中存在着不安全密码,故对其重置,请您重新激活账号,对于给您造成的不便,敬请谅解!
论坛风格切换切换到宽版
  • 7860阅读
  • 16回复

[分享]通过织梦dedecms来调用论坛帖子的方法大集合(转贴) [复制链接]

上一主题 下一主题
离线寒星点点
 
发帖
21
贡献值
23
威望值
1
技术分
0
织梦币
0
只看楼主 倒序阅读 使用道具 0 发表于: 2010-02-03
我是转来的,放这里自己学习用的,因为论坛有收藏功能,别误会我偷别人的文章当成自己的发哦。
来源:站长网 作者:毛仔

        今天我告诉大家一些在织梦dedecms里面调用discuz论坛帖子的一些方法,这些方法都是好不容易从网上搜来的,这次一次奉献给大家啦。
  首先要注意的是下面的代码中都有table="cdb_threads"这句。这句不是适用所有网站的,这个地方cbd是你论坛的表前缀名称,大家根据自己的论坛修改成合适的表前缀名。再者,我是把织梦和discuz 论坛放在一个数据库里面的,才开始放在两个数据库,整合了半天不成功,不知道是什么原因。后面放在一个数据库里面成功了。但是没有在放到两个数据库里面做测试,大家也可以测试下,告诉我结果了。按道理来说不限制放进同一个数据库才合理些!最后m-d H:M 带表是发布的时间,如果只要(日-月)时间格式的,把 H:M去掉即可。

  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('m-d H:M','@me')" /])</a>
       <br/>
       {/dede:loop}

        这个连接地址你可以写相对路径,也可以写绝对路径。

  如果是discuz动态论坛,链接地址如http://bbs.xxx.com/viewthread.php?tid=[field:tid /]

  如果是discuz静态论坛,连接地址如http://bbs.xxx.com/thread-[field:tid /]-1-1.html

        2、论坛指定版块帖子调用方法:

        { dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
        <a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
        ·[field:subject function="cn_substr(' @ me',50)" /] </a>
        <br/>
        { /dede:loop }

       其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x

       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('m-d H:M','@me')" /])</a>
       <br/>
       {/dede:loop}

       如果想调用某个板块的精华主题代码如下:

       {dede:loop table="cdb_threads" if="fid=5 and 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('m-d H:M','@me')" /])</a>
       <br/>
       {/dede:loop}

        其中的fid=5是论坛主题分类id,可以按照自己要求来修改,

  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。

  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('m-d H:M','@me')" /])</a>
        <br/>
        {/dede:loop}
       其中sort="views" 就是控制按照查看次数排序的代码

       5、论坛置顶版块帖子调用方法举例:

       { dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
       <a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
       ·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
       { /dede:loop }

       6、论坛版块名称调用方法:

       { dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
       <a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
       { /dede:loop }

        注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。望达人改进!

        附:dedecms的LOOP 标记规则

  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作

  适用范围:所有模板

  基本语法:

  { dede:loop table=' sort='' row='' if='' }

  [1] table 表示查询的数据表

  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)

  [3] row 返回结果的条数

  [4] if 查询条件

        7、调用论坛帖子中的图片方法,网上搜到的,我自己还没有做测试。

       {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 "}
       <a href="/bbs/viewthread.php?tid=[field:tid /]">
       <img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
       </A>
       {/dede:sql}

       原文地址:http://www.dianpu818.com/maozai/post/17.html(转载请务必保留原文地址)

离线寒星点点
发帖
21
贡献值
23
威望值
1
技术分
0
织梦币
0
只看该作者 1 发表于: 2010-02-03
晕,怎么那么红一条条,难看死了。
 
离线dgl2008

发帖
68
贡献值
10
威望值
7
技术分
0
织梦币
0
只看该作者 2 发表于: 2010-02-03
留个位 哈哈
 
离线279434877

发帖
276
贡献值
6
威望值
28
技术分
0
织梦币
0
只看该作者 3 发表于: 2010-04-01
hahaha

演示 http://pic.coudian.cn/
离线szrbl
发帖
12
贡献值
34
威望值
2
技术分
0
织梦币
0
只看该作者 4 发表于: 2010-04-01
我踩!!!!!!!!!
离线szrbl
发帖
12
贡献值
34
威望值
2
技术分
0
织梦币
0
只看该作者 5 发表于: 2010-04-01
工作服http://www.ruibaoli.com
我来也。。。。。。。。。
离线szrbl
发帖
12
贡献值
34
威望值
2
技术分
0
织梦币
0
只看该作者 6 发表于: 2010-04-01
职业装http://www.szrbl.com
方法大集合
离线szrbl
发帖
12
贡献值
34
威望值
2
技术分
0
织梦币
0
只看该作者 7 发表于: 2010-04-01
西装http://www.hirbl.com
提供量身定制服务
离线zhaodezhu

发帖
402
贡献值
177
威望值
60
技术分
0
织梦币
0
只看该作者 8 发表于: 2010-04-04
恩 不错 你两个数据库是肯定测试不成功的 哈哈 因为你DEDE的程序没有进入DISCUZ数据库的权限 当然掉不出来了
离线阿努比斯
发帖
20
贡献值
31
威望值
6
技术分
0
织梦币
0
只看该作者 9 发表于: 2010-04-08
这个帖子太让我感动了