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

标题: dedecms调用discuz论坛帖子和图片方法大全 [打印本页]

作者: 航空    时间: 2010-8-22 01:05:23     标题: dedecms调用discuz论坛帖子和图片方法大全

调用帖子内容摘要信息
6 b: |  p. g: A$ f3 r{dede:loop table="cdb_posts" sort="tid" row="3"}
. a# c, ]2 O5 X2 A/ M<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> ( B& P; A* {# Q- Z" G7 n) q
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
7 h, _$ ?/ ^+ G% V& @0 ~  i</li> ) i" ]! h5 C5 R4 w3 p
{/dede:loop}
5 v' J8 W1 P0 Q4 E% ]: L
调用查看次数最多的帖子。
% L. a( S9 m/ d8 |1 c{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
  r% c1 ?7 u, B& u, A2 `<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
9 H: ?) _8 g# v! J[[field:lastpost function="date('m-d','@me')" /]]
4 C& o( a* o7 Y1 Y( \7 x) a</li>
' ]6 J0 D. n& L( x+ e, I$ J{/dede:loop}
$ J* B4 V5 ?: R) l; Q1 F调用回复次数最多的帖子。
/ ~* l& G8 F* w6 V% L3 S: F2 o8 W! m{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
: x0 ]6 J7 ^# ]! J0 _% l1 ?( n<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ; {1 h+ w; H4 h$ j7 ]
[[field:lastpost function="date('m-d','@me')" /]] 9 u/ o/ l$ G" o* l! ?! d2 l
</li>
( [& @( s. |2 _1 E. K" `{/dede:loop}
) p- D0 L8 ?6 P6 A调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
& M" Q1 X6 @' `# c4 g4 l{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} ) e9 |0 ]5 J, }
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 1 R4 }( {, R) j) F* }: i0 F) f
[[field:lastpost function="date('m-d','@me')" /]] 2 g4 b& S8 a' s, D! g" w" _
</li>
* G+ D/ @, S/ ^$ w2 Y{/dede:loop} % V2 j  h3 J7 ^2 C1 V+ j' g
调用帖子内容摘要信息 - p; Y  C7 i5 G

' E" T% m' G' k( G% K: q$ r$ Rfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 + d" U( R, }! E5 _! o

7 O' F5 a7 }5 Q/ Y- L{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
% f- g+ a* C0 h" a! G5 h: a<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ! E& Z% f( R/ ]/ e' y
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> ) w4 j9 u6 S" }* [, t2 ~
</li>
; ?& i2 d+ q+ ^6 |% Z" s! H: _{/dede:loop} % ]- _( d4 G6 s
幻灯片调用DZ论坛图片显示
. ^) S/ c+ u& ^* a3 O" K1 T; N# L<script language='javascript'> - E& ?) U+ G6 V0 W/ F  d
linkarr = new Array(); : R2 w5 O- K  l' S5 q4 q' Q$ C* {9 e  f
picarr = new Array(); 4 J) y6 L- K7 A  F  n7 m
textarr = new Array();
4 a# V9 n) q$ x& a" Evar swf_width=280; 7 [7 C+ P6 n+ Y1 H7 V& ]
var swf_height=192; 9 O$ F  s0 }8 ~) ^' L/ G# f
var files = ""; # M- B; p) p% J, r
var links = "";
7 B& C& y' c4 a( u' y+ T7 p2 I+ Qvar texts = ""; 3 c; k% r, J4 n) g  W
//这里设置调用标记
  O8 n( C5 u3 w0 M9 M4 g5 }! n0 w( N{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
6 D5 v) u9 O8 {
$ i9 q# k* g; E) j* Z  O`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE / @  X9 |+ e1 u9 a* `. L

# s+ B9 ~: O& {3 q5 C6 s: k`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
4 I* Z$ w. [2 j+ @  o. }# O) S" R9 _* C: O- G/ j! D) G
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; & a( Z8 c3 O5 d
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
4 x' R! `1 H% v* [# _" f* U' Ztextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
* N& U0 v! ~& e% N{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
% \" K& Y; Q, n# v1 f! a: X' f( m1 b. C! \
for(i=1;i<picarr.length;i++){
) h' f6 |, }, W( g. o5 T2 Sif(files=="") files = picarr;
' M8 j# x# E% V+ W- Delse files += "|"+picarr;
- `* G. X. y% b8 Z" L% B}
7 B8 F5 l3 N& Y: N1 Mfor(i=1;i<linkarr.length;i++){ 6 Y! L* N1 f/ i4 p
if(links=="") links = linkarr; ) v2 O  m& Q% V! r1 d, d3 ~
else links += "|"+linkarr; - p; v  {6 j- I2 g1 f
}
' r+ |) F, h- I# yfor(i=1;i<textarr.length;i++){
# k7 B4 G/ _* G1 Mif(texts=="") texts = textarr;
9 a" _3 P) w  U4 felse texts += "|"+textarr; ! E1 V9 o' t- M" f
} 0 v2 M4 E) C: b" ?) A
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
$ V7 F* B0 f" c# E) ]3 e$ {$ N* M0 ]7 Z" T! ~0 f
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" ' d8 h: W) ~( _+ c
1 P" O, ]/ {3 K4 a9 r) V: R! I
height="'+ swf_height +'">');
1 Q( |( ?; b8 u! ^1 ddocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
+ t, `1 Z9 `! F8 t/ ^, P# G
; X" ?( A1 e' D1 jvalue="high">'); 9 B# T: N& n6 Y4 T0 z8 ^; @$ D3 E* B
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); 1 L7 F, F9 G+ S# S+ r: j
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
' Z3 E* \, [  Q- T" j. |document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" ( ^. v4 }* ]5 r1 @7 n; v/ y
2 S6 D& J* z, s- m
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ 3 v. `; B' ~+ c. Q  O* B

7 L) m7 J) O6 S  G5 C( _5 v* vswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" - s: S2 k. r0 z& S! R0 S: j( F

) v, B, \7 }4 B; V% x8 \8 R, r( tpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); : F+ _4 F% \3 r: h/ A
</script>
3 D2 `5 C0 H2 j  x

6 P; x% _7 n8 ^
" L& E% x! `/ B! \+ F# ]调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
: q$ W- k; e* v0 c& u# Z6 n* b0 x  K" c- N( |3 h- l( K

3 z% e, ^5 T0 k4 O. W/ T9 Z4 g1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 5 _+ G% n; O, M* h0 y/ M
<a href="/bbs/viewthread.php?tid=[field:tid /]"> / h* C" J8 P7 U/ o
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 3 d, X, v. t, E3 D4 K- W: @
<br/>
/ {) l4 C- z+ \8 J6 O" q( V{/dede:loop}
: X9 C- `  Z8 l5 I. F: ]$ a/ Y  x4 x这个连接地址你可以写相对路径,也可以写绝对路径。
8 o* T. X# e+ i4 J4 U  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
5 T. {( }8 t, I2 o7 [  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
) q5 D6 s$ a) z) v2、论坛指定版块帖子调用方法: % E6 T1 T1 d+ X, k  s% L% U/ w
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
5 }* H- l9 o! u$ m3 e7 e<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
* n& _: o2 ]) T. k) i( P·[field:subject function="cn_substr(' @ me',50)" /] </a>
. u$ ?. {- y" i, L<br/> + R' t+ I$ r* b4 z/ V! k2 H& U
{ /dede:loop } # \/ |3 ~0 B0 h1 G
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x % I$ `' T# f' Z9 Y
3、论坛调精华主题调用代码如下: ) w7 M* Y9 B1 F* y: }
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}   `" c$ u! ]% w5 n% m
<a href="/bbs/viewthread.php?tid=[field:tid /]">
# U- f5 [0 R  v6 _·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
7 Y8 ?, S6 D& U5 S<br/> 7 R# Q# z( s; w  B) N! ], ^
{/dede:loop} - x; s& _, I+ d) c1 y  R: t
如果想调用某个板块的精华主题代码如下: - n) w' {' {' u5 R$ Z3 j. A$ [3 r# b
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 7 C: I5 N* z$ u- O7 b) W
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 2 F: o2 S- F4 t1 n# J  q% p# j% Z' g+ b
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 e7 G6 a1 q% q# K<br/>
' n$ a  i1 s- O% j1 p{/dede:loop} . A0 ^- D: z5 y! T
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, 5 t9 U4 w  L6 Z
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。   Y$ U  ^$ l; P$ h
4、调用的帖子列表这可以按查看次数排序,代码如下: 9 a2 q3 _$ Z! ]9 R3 _3 U6 s: M' Y
{dede:loop table="cdb_threads" sort="views" row="10"}
2 V/ y4 V3 m1 t3 A" ^<a href="/dz/viewthread.php?tid=[field:tid /]"> 4 }) n$ y0 ^) q% r" \
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ! Y( P  a! N; U# o' O
<br/>
/ e! ]6 ~$ r0 L{/dede:loop} * T* B" A; s, f# V+ I; ^. l
其中sort="views" 就是控制按照查看次数排序的代码
  f% {) r0 j" \1 w; d5、论坛置顶版块帖子调用方法举例: . _# N5 Q& W4 b. F$ W
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
. Q4 F9 h0 \' L% S6 \6 m<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 0 d/ d! c+ T! M) M
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
7 H. e6 }  K# @/ l6 c{ /dede:loop }
/ m$ f1 [$ o1 p6、论坛版块名称调用方法% C$ D5 Q  I% B1 ^1 i1 J) E
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 8 C  M7 |! w# Q
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
$ F% i1 B. C* }- o{ /dede:loop }
- U, f) y0 B2 l) A8 _0 ^6 Q1 a注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 , k  M* e, e7 s# v$ l4 s
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 6 [' d) \( G& E5 F3 W- E- {" s
2 Y. n+ H& C7 i- j& G) T

; F9 N- S* r) h1 P* z+ Y; A" ?  o5 ~. e9 g/ ^4 a; f7 \& z
版块都是放在上面表中的 * H1 ^4 O$ _: d4 t  Q
表部分结构如下: 1 g  V" Y* `5 d% @& S
! W# k3 S3 r$ X% M: [7 Y  b/ I

* K7 F" ?# m  i! |& F % l% o4 n4 T# }/ }* J& n
这样我们就一目了然了 & \( w: O; C4 p$ J2 c4 {- N
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
3 X1 A, f/ r3 p. ]{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
$ B5 ^2 G/ T) g$ {/ u8 P$ V0 @<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
( i+ t  d7 p1 }1 J{/dede:sql}

' X4 p" Y: g5 L( O. r7 l* U+ M' [/ K& |* o8 Q. t+ Y6 _6 B+ @

- a8 b/ m: }" ?* t附:dedecms的LOOP 标记规则 ; @8 u" _7 O4 {5 F! F; h* B
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
7 N5 I$ z# h7 M1 Q& H+ x8 H5 s  适用范围:所有模板 / A- ?  k  z* F2 ~/ j- l1 J
  基本语法:
6 _, D  l+ z) ]8 R  { dede:loop table=' sort='' row='' if='' }
, d4 }, q% L, W- U2 f0 _  [1] table 表示查询的数据表
' u. P$ S6 Y& L; g" b  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
5 \8 ]4 y6 d5 n  [3] row 返回结果的条数
- A+ Z. y  L2 n9 G+ A; Q; @  [4] if 查询条件
+ a, H8 }8 w/ G- x# w" C) A7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) ) s* c3 g, Y6 ^5 Y
{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`
& i* n& g% t9 G+ d% L/ z+ \% o. B- KON`cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND`displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} 2 _  Q& A! Z% W" P# B4 r  @6 G' G
<a href="/bbs/viewthread.php?tid=[field:tid /]">
/ T, h- h* U( M% @3 N" H2 \$ h<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
* a5 S' [9 H! P; \2 f. l* C: q# u</A>
: F2 a0 B# D$ S6 Z7 B' n/ K# m7 Y0 H& X2 N{/dede:sql}




欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/) Powered by Discuz! X2