dedecms调用dz论坛帖子和图片所需代码

悟途网 2016年02月26日 14:52 阅读()
字号 (A- A+)

最近需要用到dedecms和discuz做成一个网站和论坛,但是怎么调用DZ论坛的代码是个问题,下面就分享dedecms调用discuz论坛帖子和图片所需代码!
调用帖子内容摘要信息

{dede:loop table="cdb_posts" sort="tid" row="3"}

<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>

[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>

</li>

{/dede:loop}

调用查看次数最多的帖子。

{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}

<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>

[[field:lastpost function="date('m-d','@me')" /]]

</li>

{/dede:loop}

调用回复次数最多的帖子。

{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}

<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>

[[field:lastpost function="date('m-d','@me')" /]]

</li>

{/dede:loop}

调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面

{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}

<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>

[[field:lastpost function="date('m-d','@me')" /]]

</li>

{/dede:loop}

调用帖子内容摘要信息

first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序

{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}

<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>

[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>

</li>

{/dede:loop}

幻灯片调用DZ论坛图片显示

<script language='javascript'>

linkarr = new Array();

picarr = new Array();

textarr = new Array();

var swf_width=280;

var swf_height=192;

var files = "";

var links = "";

var texts = "";

//这里设置调用标记

{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 "}

linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";

picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";

textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";

{/dede:sql} //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了

for(i=1;i<picarr.length;i++){

if(files=="") files = picarr;

else files += "|"+picarr;

}

for(i=1;i<linkarr.length;i++){

if(links=="") links = linkarr;

else links += "|"+linkarr;

}

for(i=1;i<textarr.length;i++){

if(texts=="") texts = textarr;

else texts += "|"+textarr;

}

document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"

height="'+ swf_height +'">');

document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"

value="high">');

document.write('<param name="menu" value="false"><param name=wmode value="opaque">');

document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');

document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"

FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+

swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"

pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');

</script>

临汾百姓论坛 http://bbs.0357114.com/

调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据

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 }

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

但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图

版块都是放在上面表中的

表部分结构如下:

这样我们就一目了然了

用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:

{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}

<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(</a>

{/dede:sql}

附: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}

热门文章
随机推荐
教你修改DEDECMS网站安全 移动或者更改data

教你修改DEDECMS网站安全 移

data目录路径更改在DedeCMS V5.7中用户也可以设定data目录...

怎么实现dedecms在首页登录会员功能

怎么实现dedecms在首页登录会

怎么实现dedecms在首页登录会员功能,登录后的显示内容...

DEDECMS删除文档同时文章中的图片的方法

DEDECMS删除文档同时文章中的

如何解决DEDECMS织梦系统在删除文档不同时文章中的图片...

实现更新DEDECMS文章时同时发布到新浪微博

实现更新DEDECMS文章时同时发

实现更新DEDECMS文章时同时发布到新浪微博,现在的微博...

怎么实现DEDECMS全站伪静态化的方法

怎么实现DEDECMS全站伪静态化

织梦DedeCms全站伪静态的实现方法,有相当一部分站长在...

DEDECMS的arclist循环中判断第一个li添加css

DEDECMS的arclist循环中判断第

dedecms的arclist循环中,判断如果是第一个li,则添加固定...

DEDECMS标签tag显示每个tag相应的文章数量

DEDECMS标签tag显示每个tag相应

我们在进行织梦dedecms模板设计的时候,想实现类似于...

实现dedecms5.7首页和列表页动态调用文章浏览次数

实现dedecms5.7首页和列表页动

在dedecms5.7首页和列表页模板中怎样动态调用文章浏览次...