广

织梦CMS教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    DEDECMS如何调用DZ论坛的帖子内容

    2018-04-02 20:47:46 次阅读 稿源:互联网
    广告

    调用帖子内容摘要信息

    1. {dede:loop table="cdb_posts" sort="tid" row="3"
    2. <li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 
    3. [field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 
    4. </li> 
    5. {/dede:loop} 

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

    1. {dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"
    2. <li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 
    3. [[field:lastpost function="date('m-d','@me')" /]] 
    4. </li> 
    5. {/dede:loop} 

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

    1. {dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"
    2. <li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 
    3. [[field:lastpost function="date('m-d','@me')" /]] 
    4. </li> 
    5. {/dede:loop} 

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

    1. {dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"
    2. <li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 
    3. [[field:lastpost function="date('m-d','@me')" /]] 
    4. </li> 
    5. {/dede:loop}  

    调用帖子内容摘要信息

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

    1. {dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"
    2. <li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 
    3. [field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 
    4. </li> 
    5. {/dede:loop} 

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

    1. <script language='javascript'> 
    2. linkarr = new Array(); 
    3. picarr = new Array(); 
    4. textarr = new Array(); 
    5. var swf_width=280
    6. var swf_height=192
    7. var files = ""
    8. var links = ""
    9. var texts = ""
    10. //这里设置调用标记 
    11. {dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 
    12.  
    13. `cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE 
    14.  
    15. `cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} 
    16.  
    17. linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 
    18. picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; 
    19. textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; 
    20. {/dede:sql}                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 
    21.  
    22. for(i=1;i<picarr.length;i++){ 
    23. if(files=="") files = picarr
    24. else files += "|"+picarr; 
    25. for(i=1;i<linkarr.length;i++){ 
    26. if(links=="") links = linkarr
    27. else links += "|"+linkarr; 
    28. for(i=1;i<textarr.length;i++){ 
    29. if(texts=="") texts = textarr
    30. else texts += "|"+textarr; 
    31. document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
    32.  
    33. codebase="#version=6,0,0,0" width="'+ swf_width +'" 
    34.  
    35. height="'+ swf_height +'">'); 
    36. document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" 
    37.  
    38. value="high">'); 
    39. document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); 
    40. document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 
    41. document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 
    42.  
    43. FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ 
    44.  
    45. swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" 
    46.  
    47. pluginspage="" />'); document.write('</object>'); 
    48. </script> 

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

    1、论坛最新主题调用代码如下:

    1. {dede:loop table="cdb_threads" sort="tid" row="10"
    2. <a href="/bbs/viewthread.php?tid=[field:tid /]"> 
    3. ·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 
    4. <br/> 
    5. {/dede:loop} 

    这个连接地址你可以写相对路径,也可以写绝对路径。
    如果是discuz动态论坛,链接地址如?tid=[field:tid /]
    如果是discuz静态论坛,连接地址如[field:tid /]-1-1.html
    2、论坛指定版块帖子调用方法:

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

    其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
    3、论坛调精华主题调用代码如下:

    1. {dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"
    2. <a href="/bbs/viewthread.php?tid=[field:tid /]"> 
    3. ·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 
    4. <br/> 
    5. {/dede:loop} 

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

    1. {dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"
    2. <a href="/bbs/viewthread.php?tid=[field:tid /]"> 
    3. ·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 
    4. <br/> 
    5. {/dede:loop} 

    其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
    如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
    4、调用的帖子列表这可以按查看次数排序,代码如下:

    1. {dede:loop table="cdb_threads" sort="views" row="10"
    2. <a href="/dz/viewthread.php?tid=[field:tid /]"> 
    3. ·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 
    4. <br/> 
    5. {/dede:loop} 

    其中sort="views" 就是控制按照查看次数排序的代码
    5、论坛置顶版块帖子调用方法举例:

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

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

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

    注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
    附:dedecms的LOOP 标记规则
    功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
    适用范围:所有模板
    基本语法:
    { dede:loop table=' sort='' row='' if='' }
    [1] table 表示查询的数据表
    [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
    [3] row 返回结果的条数
    [4] if 查询条件
    7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)

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


     

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告