航空论坛_航空翻译_民航英语翻译_飞行翻译

 找回密码
 注册
搜索
查看: 1772|回复: 0
打印 上一主题 下一主题

dedecms调用discuz论坛帖子和图片方法大全 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
1 }. y+ }; p' N4 ^( U) P{dede:loop table="cdb_posts" sort="tid" row="3"} 5 k0 Y7 S2 l- ]
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> & Z) V' U- T2 g8 M6 U& ?
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> $ L4 m3 k* A- M# ^1 _, `7 ~
</li> & C3 I8 \8 x6 E2 {. @( y
{/dede:loop}
# n8 C) e1 e7 {+ j. f! u
调用查看次数最多的帖子。
) i# L' \9 E! M{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} . s9 Q: X7 b* _0 k
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 8 b9 F& P* z$ _+ p; Y4 F
[[field:lastpost function="date('m-d','@me')" /]]
( n: d0 P6 J+ I. u$ {- `</li>
0 @- j& E+ p# P3 P{/dede:loop}
  r( G3 m& b& z/ _3 V, I% Q调用回复次数最多的帖子。
* \. u" ~9 @7 E{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} : i( U: D) n% e' n0 z/ A# z1 O
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 6 N- T  ^0 c4 \6 U/ i5 ]3 r
[[field:lastpost function="date('m-d','@me')" /]]
* k, M; p- |& M% W' C</li>
! c: i7 h: `4 t4 j{/dede:loop} ' r: n. }8 a, L, v" h8 G
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
& X' @$ |9 ?0 b{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} ! T* i6 }! c9 T! W, P
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> * t; L9 F1 P& {" W4 v4 `' O
[[field:lastpost function="date('m-d','@me')" /]] : \9 ^, ~5 U, J
</li> 6 a1 v- `) ?' M+ L4 ^$ s
{/dede:loop}
- o; \6 r' C/ H; q- y3 U4 j% Q调用帖子内容摘要信息
* @, A/ K" k& c5 M7 N7 T# |5 _4 t& w0 M7 d5 h4 {/ g, Q  t! L9 }
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 , e8 i% F0 J2 K# x4 r) d) T

) z0 ~. W5 j# X  a1 R{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ( c- V$ \" {! h! Z
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> # T% H+ o' \8 u$ r' C, D/ L. P# T
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
- y: t! @* ?# A* u</li>
& g* L( m" @+ x{/dede:loop}
& G9 O% d( q  g2 [- \幻灯片调用DZ论坛图片显示 - n, b% s3 }3 ?0 c& U
<script language='javascript'>
5 l/ {2 |, T. u; r2 E/ h  tlinkarr = new Array(); 3 n% R3 N/ w. `# ?+ s
picarr = new Array();
5 {% G; v# j; H! m" N/ q  ltextarr = new Array();
! _$ U% s  o( z! {! tvar swf_width=280; ! e; @9 F3 `' A. u1 V
var swf_height=192;   ^- z$ {3 e3 o+ k8 ]
var files = "";
8 [6 r, v/ J: |2 g- d- W  mvar links = ""; 8 H5 i8 ?0 W( u5 p, N* p
var texts = ""; ( V9 f4 ~- P9 ]8 g0 H$ Y6 w
//这里设置调用标记 & }! s7 H$ w3 l4 D
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, % c& W, Q9 d  P3 u% ?& S- k: I: E

# f8 D- t8 {3 W6 V`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE # e" c# R8 c+ W  X8 ?4 t
6 d7 u3 @5 d4 u- ^" z- ]
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} : p  Q5 _) P7 N4 g" d

+ [8 u3 M- ]1 Z8 w+ W9 c) b, Olinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 2 b3 S& X* e; S* k9 b3 W( a
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
- m$ H9 G, S  F3 P5 Y" D/ t+ ctextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
9 f2 ?; \" R6 U{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
$ j0 b8 n7 F0 P, q/ M, a0 J1 ^% s- J  P7 B* k' N
for(i=1;i<picarr.length;i++){ , d% @# p* F" \. Z; C5 \
if(files=="") files = picarr; & K  ]) f% x# k0 s7 h& \" g2 v
else files += "|"+picarr; ' K4 P* ]8 X9 k
} 7 g5 B0 l" x8 h, a
for(i=1;i<linkarr.length;i++){
# q* X% V5 b, @2 D. Q% y7 c7 P2 ^if(links=="") links = linkarr;
) ~* e: R* i& r/ C1 g+ w% h& u$ Yelse links += "|"+linkarr; ! u$ A& w- E  l3 i/ v$ o/ R. H. F$ q
} ! I1 |% c) E) J. }
for(i=1;i<textarr.length;i++){ & j) e$ v* I6 i% n
if(texts=="") texts = textarr; : S3 V6 h' L6 K# `$ g$ ]
else texts += "|"+textarr;
9 z$ O1 a7 m! k) _& ~( V" {} " Q2 G( B& B% F! E( W1 k  x3 c
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
3 P. {/ p9 J! A( U8 Z! c  Q; v4 v& Y
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
. Z& n2 U/ X, ]  k
: `7 p. z/ j# e' T1 `* qheight="'+ swf_height +'">');
# C* `3 X0 j! a; tdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
; ?( I/ i, J1 }
' d% L% M$ @, \3 M# Z7 s* y6 \# d1 D, svalue="high">');
! U- @  Z! i6 ^  \( Sdocument.write('<param name="menu" value="false"><param name=wmode value="opaque">');
5 R9 }/ W& F  [# p. k8 G5 Vdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); $ G  C7 A( X* ?% s5 p. f$ d
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" ' a, _; l, e& l- C% h, u- t& ]
' P+ M& l# X- b! C
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ $ w5 g7 J% ?# q+ r2 w: V. `

' `/ y+ H$ k  k! @. B; P$ Yswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" ) p( w. c8 D; i
" d% m3 _( l/ f* P, L/ f
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
: W' C. `; p' r$ \</script>
: f: V$ `( \4 {6 P
, ]6 M; W4 [! e3 \# X! ^2 A
3 b% t' Z1 D- P) p- _* L; E
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
5 C* J- W! l2 [" p0 r7 e# }8 {/ X1 v2 Q1 A; M$ ?
( d6 K  M8 `% o9 R
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 6 ]5 {* H1 I& s( Y  ^& S7 M% {( K7 ~- j
<a href="/bbs/viewthread.php?tid=[field:tid /]">
% f: X/ c* q1 X& Z/ C' ]·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
6 @7 A; ~# q  w- E+ V<br/> % H1 m! Z  x" W7 E* z- k
{/dede:loop} 5 a" p! g7 y  g( V) z
这个连接地址你可以写相对路径,也可以写绝对路径。 7 g" L" a! O! E6 |% P) B
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
0 }6 l- s" }* \. g7 I4 h# ?2 P  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
) s/ i, q9 d8 j: c' n& o0 N6 Y9 ~  m2、论坛指定版块帖子调用方法: . x" v" G  T0 e* e
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
* @) O: j3 M; ]" L' ^+ E% B<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ! S. d" s: x7 l
·[field:subject function="cn_substr(' @ me',50)" /] </a>
( S9 e( P+ c" `<br/> 1 e1 T) H+ x6 C: |8 n8 C  W' J$ J
{ /dede:loop }
4 ^" S% F; Q- v( h* O其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x / H% Z+ p3 y; m4 C* q% h* v
3、论坛调精华主题调用代码如下:
+ s0 V7 \. H+ E{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} 4 Y+ L* ~  U4 z' i! b2 C5 `
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ' S' P. x3 k/ O- `4 Y/ I
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 e: d* s6 j/ |( N/ w
<br/>
9 s( _# k: s; E. t{/dede:loop}
( T1 e, f2 t+ ]% S3 A# u9 r如果想调用某个板块的精华主题代码如下: % R7 C& U5 ?/ e1 B& ^: @* E
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
; {: t$ l& M( z/ z+ k, M1 U<a href="/bbs/viewthread.php?tid=[field:tid /]"> ( o$ y( P# r1 ]" q- k6 i
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 8 A' y+ y; x  A
<br/> * e2 z9 Y' p4 t% h0 Q" g
{/dede:loop} & m0 K+ y  W0 M3 F# N( H
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
5 X) S" B9 N2 ^+ G+ P- y  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 5 z: K) M1 j. |
4、调用的帖子列表这可以按查看次数排序,代码如下: ; K! M, j* @8 s* O
{dede:loop table="cdb_threads" sort="views" row="10"} * v8 C' j. G& N
<a href="/dz/viewthread.php?tid=[field:tid /]">
& `2 g& d- ^7 M·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
' n+ q- \4 ^$ h( x<br/> : B/ a0 \% {* [7 G" L& x6 k3 }
{/dede:loop}
: Z: D" t+ }; j其中sort="views" 就是控制按照查看次数排序的代码
3 j  b0 {: |, u7 O5、论坛置顶版块帖子调用方法举例:
. F! v* J8 Z: Z' x" c! p9 v' Y{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
  H$ h: T( v; V1 x* y% R' w, f8 g/ x9 x* t<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
# n& `+ \$ a' L2 v/ n* Y2 R& z6 k4 k·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> / Q( P/ [: ~/ ?$ ~% \+ S* E
{ /dede:loop } * `$ _2 \% T3 L+ X) k) U$ L
6、论坛版块名称调用方法
' V  p# F" [+ V0 A. _+ Q& t8 m) a{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
7 `# s' A+ Z% z, M<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> & E7 p+ K( p1 K0 o8 P
{ /dede:loop }
/ ~6 l8 u6 w. d: o注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
" ~, G2 a+ H. f  [但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
5 s. m# z6 e6 P4 ~' M3 w  Q$ m% J  a5 B8 z

4 ~0 F, H: [* p, p  Z
- v! ^& \0 n% g( A3 @, l( i版块都是放在上面表中的 $ j6 q! L  }$ t/ f- Z
表部分结构如下:   a! Z% j8 w6 D3 h6 ]; _: X5 F

8 a/ M8 f3 z4 q1 [  d) \
# c  {: i& S' s; q9 C; C* h1 }$ E 7 D; ^6 M5 ]' R' A8 o
这样我们就一目了然了 2 k9 W' R. b5 u' B
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: 1 |+ J. z, G8 Q# y' S
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} * o3 b2 r$ s& O* o! m. a4 w, V
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
: c9 ^' o/ p0 P, @0 }! ?{/dede:sql}
2 Z, t1 j& _" G: I2 Q+ F

& A8 j+ L, S  Z3 z1 s' z& X, B; s2 X- I, u4 U  K" L; O, p6 f
附:dedecms的LOOP 标记规则
: g  v& j2 Z% R$ b, M  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
3 O( _/ d# \* }" l  适用范围:所有模板
8 d# p7 O! v( e  [  N4 |# s2 d3 M- w  基本语法:
5 q% U2 i" G! J' a  { dede:loop table=' sort='' row='' if='' } $ O/ @8 S3 r( h( x9 t% ?
  [1] table 表示查询的数据表
3 Z7 _! b( h8 P  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) ! ^# ~# j+ r5 G) T: R! G
  [3] row 返回结果的条数
4 |6 s: K+ @/ J$ u2 s; b  [4] if 查询条件
$ ]6 o# y! H% D* u2 g' J7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) : f% Y. h! e& L" _. R& z
{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` 3 b9 A4 W0 e0 z
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 "}
1 v/ s5 Z- M7 f+ F3 V/ }, U<a href="/bbs/viewthread.php?tid=[field:tid /]"> 1 {% s: u* ?4 E6 Q8 o* I: G
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
' N" e5 a, v+ j7 r& T3 J</A>   w" r" [. G- f2 H$ `$ u
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


Archiver|航空论坛 ( 渝ICP备10008336号 )

GMT+8, 2025-10-4 15:19 , Processed in 0.024001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部