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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |正序浏览
调用帖子内容摘要信息 ; t! I) w3 |; R* Y3 E2 K0 o. j) x7 ]
{dede:loop table="cdb_posts" sort="tid" row="3"} 2 ]5 q, ^/ j2 P9 }& }
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
( \% V8 D- r2 v4 G& ]- l5 |3 {2 ^[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> - [! _% d1 W" E5 C( ^
</li>
, U0 F  `2 X$ I# n# v: u5 N- ?) N{/dede:loop}
# h0 F' ^4 }- B5 t6 w1 ]
调用查看次数最多的帖子。
8 K( S8 T0 H: e8 s- s8 P7 c+ E{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 3 t9 n& i6 G" d2 s! o. }) P) C& C& r
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> " h2 R8 x" a9 `! w
[[field:lastpost function="date('m-d','@me')" /]]
& b6 M) n* n2 `% M+ [/ T* H</li>
* P4 i& ^# F6 b2 m4 P{/dede:loop} & T* F1 ]6 T3 ^
调用回复次数最多的帖子。 # w3 r' C5 b" p
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
1 ~# R$ g4 `7 u: R. N" O4 _0 X<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
1 ^$ b( d9 q# a" {( A[[field:lastpost function="date('m-d','@me')" /]]
' V' c0 [  u7 V  L, a! M7 `</li> ' }9 Y7 \' M; L% c( A/ P
{/dede:loop} + H0 P& x; \" R; e5 a7 @0 t# S( b
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 8 ~/ O! E) p9 a; i& r
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
4 B$ E8 d$ E6 s' U<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
$ X+ y7 v& B- ^5 ]6 M[[field:lastpost function="date('m-d','@me')" /]]
3 A; Y9 N6 Z+ }) s</li> ( F+ t. y- @8 W/ [
{/dede:loop} 6 m  b4 r2 i. X4 Y. U" }2 }1 i
调用帖子内容摘要信息 & l- e& f: e) k1 N" h
. S" A3 F7 Q$ T; u
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序   f1 T$ X$ T( c8 e8 t0 ]4 W; m. E

& F) R7 y, v, J" u{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
! }* p1 a% q, l9 `6 r<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
6 M  s4 Y  }) i- b2 F7 g[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
5 N+ b" z2 M3 Z, {- V</li> + q: K5 ^$ E- H" f" B- }
{/dede:loop}   j2 Q9 ]& G$ T/ V
幻灯片调用DZ论坛图片显示 , p9 }  V6 h2 N% H1 U) |; @3 [
<script language='javascript'> 6 I' F; r' j' a- O8 I$ a  z4 ^
linkarr = new Array();
$ [/ A. \4 U) a" u/ ]picarr = new Array(); 7 Z/ I3 Q* i: Q3 H  M
textarr = new Array(); 5 w+ Q5 |" c/ D- H2 s/ `
var swf_width=280; " s! m0 U; g  ^# Q& }
var swf_height=192; ; G. Q. ~, S1 i& Y9 z0 L# ~
var files = ""; 2 m* f" w5 ], |0 v0 |
var links = "";
# Y& ?/ T* t$ w. l& |. N1 Zvar texts = "";
; L7 |: U; F( x0 I' W//这里设置调用标记 * R- o! L, c5 o* H
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
4 B4 j9 h% V) J/ h3 ~0 \) ~
2 C8 @, J* f2 J3 K5 m! Q`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE ; F7 _) l  ~& L' n: z3 ~" b
* z3 h6 K6 v1 [8 T. j
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} 1 o! W( z8 n* r* J. M7 _3 W& x  J
# \  P/ h3 g" f
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
3 z7 y1 H! M* R  v9 ~picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
& F9 L7 r7 Z& \& J) H" ^, utextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; 1 m8 Z' z( v/ K+ u9 g. @( e* P6 |+ R
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
! m" V2 T2 S& v- t  e: D6 O: P& H! Z2 S' a  M# z
for(i=1;i<picarr.length;i++){
% \, I, _$ P  w) i; gif(files=="") files = picarr; 9 }2 n, t4 h) W  A
else files += "|"+picarr; : x1 k: Q* \; f2 F  v
}
+ Z7 f2 X& B% Z- x6 ?4 _for(i=1;i<linkarr.length;i++){ $ G2 R7 p& \& s1 ?
if(links=="") links = linkarr;
; E; F/ n) n+ X# y0 r# Relse links += "|"+linkarr;
4 \/ w) Z1 Z& f" \- q4 P* @}
) H4 ]& J+ n# F5 p  s9 Dfor(i=1;i<textarr.length;i++){ % K8 @5 i, Y& ~& u
if(texts=="") texts = textarr;
+ b3 O$ I! `& `4 a$ H  }else texts += "|"+textarr; - a1 x* I+ }! y6 O7 W% N
}
7 n) s# ~' ?: Edocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" % A# \# n7 {& \* R# k& q! L

+ g, K1 M+ }* Pcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
$ }7 s% l* Z7 I, s$ N. h& U5 i  ~* L/ @, \) }) T) W& n/ I! d
height="'+ swf_height +'">'); ! e9 Z- v6 A% h- j9 v
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
9 U% M7 T  }* o* s; [' j! ]
; {8 O3 R- ~) _/ f: s9 tvalue="high">'); ( K6 h! w0 O* W0 _) R
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); & i& B% R: j* L. b% f, p3 l6 r
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 2 J7 T7 h2 i4 O3 X5 K8 @5 s+ R2 v
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 4 S# T' ?7 U7 K( w7 U. d' b* X
  l- r6 v2 L( T; S% ?% B
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
! |; z' ~; d, K# `3 n; {3 \8 y  F* H- P# R$ S, w6 H
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
2 G+ _2 S* A: F
! H: @3 [5 x/ f, rpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
$ q2 s3 ^- Q& M+ D# Z9 p7 n2 P</script>
# d7 h. s5 a' J8 _% }; ]  A1 N" k" B5 Y
7 }% g) u8 L8 T+ {( j; Q

0 _: j) e2 j, c$ @/ l( B调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 7 P5 E6 K* ]$ E

3 j$ Z' E* w0 r! V/ Z; n
+ p) M# H6 u  C% L0 ]; E! r4 |1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
4 z: ^4 Q. X0 ^* b6 J' a( o9 T; [<a href="/bbs/viewthread.php?tid=[field:tid /]">
, j! H' q) n, i+ I·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> * I7 j6 W* T' t# j  _
<br/> " |- Y$ X  ^" i( D! n
{/dede:loop} 6 f8 {* _, [% o; G" e7 ^7 F
这个连接地址你可以写相对路径,也可以写绝对路径。 : G! X9 q4 H! g, y, y) o
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] : K8 [8 l0 t5 [( F$ j
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html . n0 u% ?# J5 ~
2、论坛指定版块帖子调用方法: $ G6 r' X' ^5 g7 _- u
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } ) K/ g( X/ ?# n' ]
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
: ~, V0 ]# ~2 C# V·[field:subject function="cn_substr(' @ me',50)" /] </a>
$ i2 ^# D0 f$ X5 X<br/>
1 P6 ^$ Z' @$ _2 r{ /dede:loop }
* C9 V8 g! o5 @9 Q其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x ' {& p% w$ D7 v2 u& P
3、论坛调精华主题调用代码如下:
6 D. c# m3 E! d4 \( |{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
$ }8 o9 ^; G7 j<a href="/bbs/viewthread.php?tid=[field:tid /]">
: x- V% o# l; W- P/ F·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
) d# ^- I3 n3 U9 k0 w3 P<br/>
& H% l* [: a( Z* }" ?" K{/dede:loop} # }9 k# V* w6 c
如果想调用某个板块的精华主题代码如下: + `+ s& B6 |7 c0 b) d' N; T' B
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
8 @% c0 b  B) V" J  d  ]6 s<a href="/bbs/viewthread.php?tid=[field:tid /]">
0 b' W, P2 X- @3 j! P3 W! G/ Z·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
; Q, a2 s5 Y; I) O! u- i<br/>
2 h7 s( t3 L  m* n1 b* Q{/dede:loop} & M! I. U( J! }2 W# W
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
0 ]" y) A3 s" a; z: }2 Y. R3 j  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 : K/ [- {9 D& I0 t1 J" F0 x
4、调用的帖子列表这可以按查看次数排序,代码如下:
$ N" h) w. Q+ O8 k& L: }{dede:loop table="cdb_threads" sort="views" row="10"}   j' F  U9 S  s! p+ r
<a href="/dz/viewthread.php?tid=[field:tid /]"> 3 F- J0 k1 u4 _. v: U
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 5 W  s* N, H: @( ^* k2 l7 [
<br/>
% x# D1 G6 ]: K% ]* z{/dede:loop} " E. l4 n5 q9 Z! ]
其中sort="views" 就是控制按照查看次数排序的代码 / m+ j% A! l! r' ~( D
5、论坛置顶版块帖子调用方法举例: 3 b% x4 S3 S& l! P
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
$ S5 e" p3 c, k<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> " C& b3 E1 P/ `) M; I% W* _) [9 \: x
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> 1 V0 A' j$ K8 z3 Q* y
{ /dede:loop }
! ?( |  M$ M8 I$ f% c; U5 J" m6、论坛版块名称调用方法
6 S) F% x9 ]' U) y{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
! h4 d3 @1 ~" i8 K) }9 z<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
5 Q8 L$ J- w3 k" b5 S9 t/ z{ /dede:loop } 9 e  U) N1 ~3 e9 b/ K) _
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 ) L# @4 r, m1 E' E. `5 t* U
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
4 O2 O, y6 _' Q8 _# e: D- e/ M* A

. o1 a8 {: x0 {- L. I  o
8 \* e8 I: w' Z- y( F4 @1 j版块都是放在上面表中的 ' E5 ~4 C9 G9 E4 P; O
表部分结构如下:
- B$ O8 m+ S5 F8 q# W8 Z- T( e! c# N; v# c; T% a* M6 k4 m- a+ Q  L
- b" T. j; j9 `- k) E

; t1 [" \  p* N  W6 S& ]0 ]这样我们就一目了然了 / s9 [* d) {" b5 y2 I( _2 e7 {6 T. d8 d
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
9 J" K9 I+ ~: [. C7 ?6 N{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
0 K. m1 l  @7 p/ n1 B<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
5 u' _4 ~6 r2 o; [) O8 y" l2 _{/dede:sql}
( O8 t5 Z! N3 V& l# n  O) s  @

: |+ g' a: B  [( }+ q
1 l: N9 d2 q2 o1 w3 W2 h& ~附:dedecms的LOOP 标记规则
% v! G/ c9 R- L3 W; H- _  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 , o9 X8 E) O! C4 _2 d
  适用范围:所有模板 0 P3 G4 c- N3 W- C' \' g
  基本语法:
5 ^, l9 O* g! O5 p* w% V  { dede:loop table=' sort='' row='' if='' }
" ~8 o0 p, |$ U' q1 t8 k  [1] table 表示查询的数据表 $ N) F% w9 ?2 t) s$ R+ d5 D% ]. @
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) ! t2 P; @5 w0 j5 q
  [3] row 返回结果的条数 4 T' x& j+ u) i6 e7 [
  [4] if 查询条件 & e1 \6 v5 G- X2 k3 R6 h% t# d1 f( D
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) ! z  y, _; }3 f% N7 Z2 [" L
{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 V$ s0 B) X, I, A  x. T+ ?5 u$ U  r
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 "} 7 A9 Y. J" @5 F2 X
<a href="/bbs/viewthread.php?tid=[field:tid /]">
- T! ], N: i" Y' O6 r* B2 e<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
. L3 J$ R  F0 a* [6 B8 j1 y1 j( q# O</A>
2 P% u. q  }) z+ @4 ~{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-11-25 02:15 , Processed in 0.025001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部