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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 0 ?2 t" r. S- w% N/ T3 L
{dede:loop table="cdb_posts" sort="tid" row="3"} $ w$ v: C$ @  {
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> * r2 T' O6 U" F' C& A' f
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 5 y0 S4 S9 \8 c6 G3 `) \3 \/ ?
</li>
- |8 u2 L$ ?& ?: ]6 O{/dede:loop}

3 m* C0 b9 D# q# ~: l调用查看次数最多的帖子。
9 v! m' O# u6 _{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
& t# n1 Q# G$ C& R# H+ g<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> * Y6 T# r# P* i0 w
[[field:lastpost function="date('m-d','@me')" /]] $ N  k+ Z' K1 I  l: k* e
</li>
6 d: q+ a8 ]/ X{/dede:loop}
0 W% X$ @% \1 O  h4 b调用回复次数最多的帖子。 / F* D6 U* _& Y! x$ e* L1 F# e
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
& a+ [0 l6 X% J( r5 A<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> # z  P5 }" ]5 H% v% ]5 P% T
[[field:lastpost function="date('m-d','@me')" /]]
( i7 Y' R- C: I/ Z</li>
% r, @6 O* D  i3 F0 v{/dede:loop}
: J& J9 d/ o: I' O4 }% G/ G; R! x调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 ) n0 P1 t( R5 t" _$ |
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
3 Z8 G6 B. J0 m: `<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 5 _) `. h7 @$ L- I* ~" X
[[field:lastpost function="date('m-d','@me')" /]] 0 K6 |) @& M" b8 f3 G2 S
</li>
/ O4 X5 x/ D. V- [! V, |# Q{/dede:loop} 6 K3 m6 T7 R5 Q) t
调用帖子内容摘要信息 ! z, A6 p+ K4 ~3 s7 z
/ f  ]. e& F% H8 v4 L
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
* n& o5 S1 |' M/ C" _. E7 t' ~& Q2 V% L7 N, U& c$ a; N' U/ j
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
& c, |! [3 V0 a* ~<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> , l8 ]) W5 S- x, s/ \5 o
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 0 i) N3 [: t8 V7 V& a
</li> 9 E8 z0 D9 S1 h0 k* U$ x! {1 l
{/dede:loop} / n" a( T0 M6 e4 a% }) E
幻灯片调用DZ论坛图片显示 ) b+ ~6 G; ]/ [2 C
<script language='javascript'>
" P; |, J7 t% I& zlinkarr = new Array(); # d3 A- C. W' a9 f" H& ^3 s: g) \) ?
picarr = new Array(); 6 L( C4 a3 J5 r1 C# m. K+ {
textarr = new Array();
  I6 C- K5 k/ jvar swf_width=280;
% l1 q' k, L' B8 j0 gvar swf_height=192;
+ J8 v/ K1 f# Gvar files = ""; # ?  l, c8 K% b& y/ S  M1 A% N
var links = "";
6 ?' k5 ]3 ?+ C0 t+ ]var texts = ""; 3 K% I* I: L8 ~
//这里设置调用标记 / {. R0 q6 I8 C  H+ G% y* b2 y
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, ( X& z8 {: O5 |  C5 z/ B
4 u9 H6 q  [) f9 u4 w
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE 5 b# j! K5 k! @$ n! t8 ~- v

4 L7 R& E2 o) l5 ~9 @`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
4 D% R2 ~) Q! l# L
$ @; V+ a" v& n0 [# @0 Rlinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; , C- b) P! N: N. j: y/ j8 i
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
. ?3 H( c* W- T) z; ~* T& K9 ptextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
+ [( o$ C, u' B: P) U- F7 W% \{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
" |' \- f. k( E3 I/ F" O. c- c; f4 g
for(i=1;i<picarr.length;i++){ " h# A( y" J4 S% I: e
if(files=="") files = picarr;
! Z  D8 Q+ ]( A8 A+ e% Aelse files += "|"+picarr; & D* |: `+ X! P; ]8 S: Z
} ' s5 N3 u( C5 F
for(i=1;i<linkarr.length;i++){
% B& L* }% i7 Q7 Qif(links=="") links = linkarr;
! w6 G1 O9 M% P: ^else links += "|"+linkarr;
3 B  b6 R! y* P  g}
! n! G  O$ H2 b+ yfor(i=1;i<textarr.length;i++){ 2 n) E& U% a! p9 j, O/ i8 t
if(texts=="") texts = textarr;
# Q" {* o" S* N9 N0 v: k- e4 Telse texts += "|"+textarr; ' g) @4 j* I# G4 `. q6 R
}
  B4 @) I! [0 \* _$ \0 {document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
4 ~8 L' C3 D. S2 p$ q) q$ c. q* b
% n$ E% f& v* p* {* c: Ncodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" ; D* w% ?  q# b3 N
( O/ O4 ]" b6 f. W) w: N
height="'+ swf_height +'">'); 9 w& E2 ?0 l% Z  s7 e' J7 r, z
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
2 H4 P% K' h8 [0 q7 E
" h' I3 f! a. a9 }. w4 i; c" Zvalue="high">'); % A2 e' b  C- J2 j  ]3 W
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); ! V, Q% g; |7 h; |
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); ( ?7 @9 b- Y" |, j
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" - |; u3 Q4 j) ^1 R+ t

! G. w; r" d. x4 d4 _# r) e" \1 }9 Q7 }FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
% `/ x* |  U: P/ G/ v5 x
( H2 ], h/ O! k0 u* a% D2 h. }swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" ) C) O2 F+ c5 M% s- n5 Z

& J/ C/ ?5 Q' r# Tpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 5 R9 ^! w. O! _, ~! ^: m$ [) C
</script>
! T5 b5 S' U$ v

, k" e/ S2 U( U+ \0 Y, \7 n+ v! }
: g; ~0 `/ ?- C# I" x8 G' ^3 i& e调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
' t) B8 V( ?9 {/ F6 O) i! P9 E4 S5 ^- g; n1 x. J  F8 n2 ~

' {  V' v3 {5 C! h2 E1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} " `/ E7 T/ _2 r# R- Z" ^
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 2 r/ A/ a) O3 t5 O  w7 w3 h
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
6 H4 o$ d; p: c$ U5 _& \5 L$ y: H<br/> 9 R* @& ?. \( S6 x2 J  c4 N
{/dede:loop}
# A. a- P: p- p/ L9 c5 e这个连接地址你可以写相对路径,也可以写绝对路径。
9 W/ O& N' v" _$ n  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] 8 b3 h' U( ?; \! ?
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
* K, Y# |+ D' a4 W% X9 c9 X( D/ [2、论坛指定版块帖子调用方法: ; s! D/ N+ v) ]  ^
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } / g, V4 {' R1 Z! {
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">   z& K! N9 R8 L, F7 Y# U
·[field:subject function="cn_substr(' @ me',50)" /] </a> ; D/ C  g- Z/ w+ S; o* f
<br/> , A* @3 o2 y4 v  a' L
{ /dede:loop }
" y8 F% O! r7 b6 f" b# B' F7 t其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
& y7 n" I- S$ B* C3、论坛调精华主题调用代码如下:
0 t/ h  v. a9 f% v% c{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
- ?8 ]- e3 U+ {+ k7 U0 R* f" w<a href="/bbs/viewthread.php?tid=[field:tid /]">
- ^' X. w7 y' U·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 9 d' T5 u# U* C
<br/>
1 r  U' z; |: f- E" d( p7 `7 J: v! P# i{/dede:loop}
5 c2 s) a# g( ?, o! }( v6 ^, x; \, f如果想调用某个板块的精华主题代码如下: 2 T  z/ `2 o7 L$ @
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
+ y5 s6 l% o$ M/ \9 T. O# N<a href="/bbs/viewthread.php?tid=[field:tid /]"> ; R0 i# P5 w  A
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
- m, p1 h- ~" x; L8 z% o<br/>
3 K. c* s$ e% M3 u0 J{/dede:loop}
) \: u& p- j% U1 ~4 l- N% s其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
4 O' h7 ~- }* c- ~) b  _( P  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
3 R/ Y% L# o8 J; r5 x% G! W; Q4、调用的帖子列表这可以按查看次数排序,代码如下:
4 A3 g7 k$ z  m4 Y{dede:loop table="cdb_threads" sort="views" row="10"} & E* B3 h3 h% D' u' z
<a href="/dz/viewthread.php?tid=[field:tid /]">
; j) o- h3 [8 Y% L% I$ d·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 4 q$ l: V9 ]" o& x* h, R% Y7 Y
<br/> 3 U' S, k: D, h5 r/ ?" x
{/dede:loop}
1 S/ r9 V3 l; b, r  i: {( f7 I. r  B其中sort="views" 就是控制按照查看次数排序的代码 ! c. X3 p# ?$ n' S" ]$ Q4 \: G
5、论坛置顶版块帖子调用方法举例: 7 r+ A! k/ _) Y: S4 m  C* k. I
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } * U; I; D- g: E0 a" y
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
8 q1 Q3 y, a" C' ~; s- ^. f8 [·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
- {: M7 d9 E0 t- w{ /dede:loop }
2 [1 j0 x* L4 M4 ?4 S: U6、论坛版块名称调用方法5 _1 ]& ]5 ?. N) u
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 9 j" {5 I, E' D' N/ N
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
! E7 C" k# v. I8 ]2 n+ Y* a# d{ /dede:loop } & d' s4 F# E8 P& J
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 6 S, p. n4 \, P+ g+ z
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 0 Q% A8 w7 y$ Z. q

8 ^6 h" r6 ?; b8 m1 A  L4 u& P3 E* z' H7 `/ u1 ~
! Z( U9 A" N. ]3 C! o
版块都是放在上面表中的
- K, M) [' Q  X' ?9 Y, d: m1 t: z表部分结构如下: $ O# w" e% }1 P- B
% U$ H3 K; V) r, }6 i. Q

$ J5 V- ^$ V& W3 S
/ `5 K! }6 u3 q  U. q; U. C这样我们就一目了然了
0 }/ F! U% g/ W用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
" i9 {, I. ~5 [{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
# ~, m& R+ V! j3 G! o<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> 0 L: }' d4 q+ R7 V
{/dede:sql}

5 d2 f. Y* v+ B* D8 q: d0 k* C7 E5 g  n
, k0 l0 L4 E- L9 C
  T# n0 H! \2 b) i0 R) {附:dedecms的LOOP 标记规则
+ ^0 P0 v& K9 v0 R; D' t  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 # F' u7 C" S8 V6 Y
  适用范围:所有模板 ) t, f$ U3 _& _2 F2 B; @
  基本语法:
5 q1 A- U2 N! j  { dede:loop table=' sort='' row='' if='' } 2 `% k5 z; i/ A' ~1 P
  [1] table 表示查询的数据表
* Z) @  a' p1 d* M" w& B  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) . s7 C: ]- U& z* F) @( _8 b
  [3] row 返回结果的条数 8 f5 T+ c# _1 F! ?! G5 ~( e& T
  [4] if 查询条件
  N2 F! X% l) n4 u: a: Q7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) 3 G! p; P6 O( m& h! r$ f) x7 p
{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`
6 Q9 W, B( t; x( y- ^5 @$ {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 "}
0 w5 x; m5 g% x<a href="/bbs/viewthread.php?tid=[field:tid /]">
+ o6 x1 b  C- b+ K3 F- }* @<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
, i- A/ C/ n2 e7 R9 b</A>
+ G- r' k- t" F  }1 S" P2 x' t( E! f{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

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

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部