在DEDE中,这是调用论坛新帖的代码,那么如何实现调用如从第三开始到第十的帖子呢?在DEDE中有个limit"3,10"的条件项,在调用phpwind论坛要如何实现这个功能??
{dede:loop table='pw_threads' sort='tid' row='4' if='fid=10'}
<li> <a href="../read.php?tid=[field:tid/]">[field:subject function="cn_substr('@me',28)"/]
</a> </li>{/dede:loop}
注意一点:要pw_threads换成你的数据库名称,且要在同一个数据库里面。
{dede:loop table="pw_threads" sort="tid" row="17"}
<li>
<a href='/Forum/read-Server-tid-[field:tid /].html' target="_blank">
[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d','@me')" /])
</a></li>
{/dede:loop}
[5.3版] 用Loop解决首页调用自定义字段!
{dede:loop table="自定义字段所在的表名" sort='aid' row="显示的条数" if="typeid =栏目ID"}
[field:自定义的字段名 /]
{/dede:loop}
参考代码:
{dede:loop table="dede_addonarticle" sort='aid' row="10" if="typeid =1"}
[field:zdy /]
{/dede:loop}
比较简单的方法,个人认为比SQL好用。
然后把
{dede:loop table="pw_threads" sort="tid" row="10"}
<a href='/phpwind/read.php?tid=[field:tid /]'>
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])
</a>
<br/>
{/dede:loop}
这段加入到你的模板里就可以了。
loop调用discuz大全
我想在首页调用特定栏目的精华帖,但是JS太慢,想生成HTML。
我现在是这样调最新帖的,请问怎么调某个板块的精华帖?
论坛最新主题:<br/>
{dede:loop table="cdb_threads" sort="tid" 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}
刚刚试了下,这样可以调特定板块的主题,现在就想问,怎么调精华主题?
论坛最新主题:<br/>
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" 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}
再次发现,这样可以显示精华帖。
论坛最新主题:<br/>
{dede:loop table="cdb_threads" if="fid=5 AND digest>0 and displayorder!=-1 " sort="tid" 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}
这样又可以按查看次数排序:
论坛最新主题:<br/>
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" 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}
今天我告诉大家一些在织梦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}