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

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

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

调用帖子内容摘要信息 * R/ s" V" }; j+ n4 p2 V1 }
{dede:loop table="cdb_posts" sort="tid" row="3"}
( j( H0 A9 f9 Y9 [# s/ q4 C6 ~<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 7 V2 |* g2 g5 T. Z
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
* V! d( X5 o- Q/ t* }6 b</li>
. ^4 p2 Y! W$ j' O{/dede:loop}

; H, Q, E+ s8 V  ~' Z) Q调用查看次数最多的帖子。 9 F7 }- f5 M$ o
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
! Q$ [5 w( K; e7 j/ Z" h/ S<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
& J$ {4 V# W6 W4 ^& `# }! F[[field:lastpost function="date('m-d','@me')" /]] $ x4 J: T# G+ Y3 V% h# f* F' s2 t) y
</li>
! D8 @+ u: g% h7 r0 S, M) j+ e& e{/dede:loop}
( [* P5 m1 i  I# L# i" a调用回复次数最多的帖子。
1 K& e8 c: J' O1 k{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
6 G7 O, p3 `+ h9 p/ ~<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ( W4 X/ i) ]  b2 R7 t
[[field:lastpost function="date('m-d','@me')" /]]
8 r" V7 S' q$ |- A8 h( n</li> " u+ A! G) R2 j
{/dede:loop} 2 X& w$ T& b( L8 Y5 r
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 : j; U) }& D# W4 D
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
8 N3 b- E6 _$ e: V1 K% M! r<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 5 B) d3 v+ ~- w5 j# e- S7 O, ~
[[field:lastpost function="date('m-d','@me')" /]]
4 R+ y5 X" t# M, g/ q( Q$ E% @</li> 7 q+ V9 r% h  K) p4 `1 L% _( t: ^- \
{/dede:loop} - G) L2 X. W$ f, p5 h% Q, L
调用帖子内容摘要信息 $ V0 Z) s1 ]- m+ ?) B) h
  x4 K  f/ W- m# p( i. ~
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 2 t7 f3 C) ?. [0 j# S
5 b1 c% K: H  V$ c2 s) P
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ' T7 j4 u& j; `4 i
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
) D, n$ ^' m; d) s, B[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
+ q) D- ]$ R- h1 \% i</li> 1 U5 D$ y* x# M& X, s8 _
{/dede:loop} 2 `& G/ p. ~- ]2 L( S$ ~% C
幻灯片调用DZ论坛图片显示
. r! E5 _( G4 y; S- _, x: g  }% t<script language='javascript'> . S* {* r# \. x$ a
linkarr = new Array(); * V, k# |- @, a3 V- ?3 l* E
picarr = new Array(); " d; \2 M* ]# ]. t
textarr = new Array(); / }4 O5 t6 r% y# Q/ ?7 U/ J7 b
var swf_width=280; ' R- w! T* ^$ \$ H
var swf_height=192; 9 m3 [8 p3 p4 o
var files = "";
0 g0 ^8 W, s) B" m/ \) A8 y8 Z5 _/ Svar links = "";
, b" v+ [5 \" o4 w3 @& o! B: lvar texts = "";
* e1 V! y7 r& j; H# d$ V8 p( Q* ^; b//这里设置调用标记 8 K; S) Y- i; ]) H& ?, n7 [" C% @. P
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
0 H% z! _; {* L) _( ?8 v5 [. |1 }4 B+ t7 ^7 r% O  {- [' N
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE : U0 q5 @) Z9 i- F7 R+ Y% z

5 B4 A" @7 t* I3 z: c6 n`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} / c6 i1 W; y% y/ }% G

! g4 p/ o2 N0 K/ slinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
' p5 ~% z" n7 I6 Epicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
. d) g. j* A. B5 U' r2 ~0 btextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; 2 J  u# I& u+ j- `. y8 m
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
1 {. ]- c' X* C
; h: k, J; o2 G9 ~9 h1 U3 c2 s: }6 I) ofor(i=1;i<picarr.length;i++){
: _4 I! p& K; Wif(files=="") files = picarr;
- L5 O0 L, T7 a- aelse files += "|"+picarr; 0 I) n$ o; o; a. U" r
}
" G$ N1 t; _1 E' Pfor(i=1;i<linkarr.length;i++){ 7 @- S% {  h9 k" c! G
if(links=="") links = linkarr; - k9 E2 Y( E/ t2 ?" E. N% p' H) @; e
else links += "|"+linkarr; 3 }" L1 H1 ]( }. y% R
}
% T7 t4 x8 M5 G* Dfor(i=1;i<textarr.length;i++){ / v: p, s1 G/ a5 U! C0 `+ y, X7 l$ G
if(texts=="") texts = textarr;
) z6 O4 [' O' g( ^$ X0 H: ^/ Oelse texts += "|"+textarr; , X) t' A; ~2 |; ^" l
}
8 y" D1 u8 F" a6 Ldocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" " Q" q+ }: [) G/ h  }$ T. t

" J! p  ~  f+ m- b7 n8 m0 qcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" 2 O: u0 g8 t  I4 s

5 D  j% z& @- d! L! p+ E  K/ jheight="'+ swf_height +'">');
4 h$ P2 N6 J8 r1 j. xdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" ' w5 Q8 A# f. f

( E0 P/ i, t8 d5 O7 C! nvalue="high">'); ; `+ z$ ]0 ]+ O) Q2 f% x
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
5 u) f+ p; ]! F; Bdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
3 x. [- n( _- u! F# Wdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 4 a( d9 |) g- f" f; w
. C  G6 @& X% j4 R+ I$ ~7 W
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
+ q0 K  y1 S& E+ _2 ?. q0 e% @
7 E/ H2 v, ~4 ?6 K' ^$ Xswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" 3 H8 I# C6 J! w# Q  \7 \1 ?
7 [& P+ e0 F& c5 D7 x
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); / C8 H, l% n4 T! T+ R/ h1 B2 K
</script>
; f$ w) x4 V1 `8 Q) A+ w

  ]' i" E+ W" s0 R  Z: I1 z- B7 O) P" q! z# y6 K$ l# j! l) T3 X
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
; t, W' ^9 S+ c9 h" _9 p2 [- i' n' j; b+ y! p! R

7 B0 N2 @  B0 @2 n1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 0 h4 m! l' R! {8 y- n
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 9 d' c& f9 n" p* d% }) e
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
# U7 l9 {8 D# F2 Q0 c, ^' l  g<br/>
! e+ |( ~. I+ _, s{/dede:loop} 8 P! M0 q# K5 R" @2 S. {
这个连接地址你可以写相对路径,也可以写绝对路径。   {: |& R: E# L9 s* D
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] , F' W8 Z0 C8 x# `0 R
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 7 [6 y9 O$ P9 F+ Z1 @
2、论坛指定版块帖子调用方法:
1 D: T6 j) ^2 f! u  Z{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } ) I8 X% r- }0 U- `
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
  m4 l& v3 U2 F/ b·[field:subject function="cn_substr(' @ me',50)" /] </a>
( q2 y, j- Y) Y& @4 m# c/ G5 a$ `2 L<br/>
# [7 |+ Z; {! ^; {& A{ /dede:loop } 3 O% E0 h) h* Y. U$ U* F8 X
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x 0 P2 U0 y  T# b" u* E
3、论坛调精华主题调用代码如下: & h' K+ `% R! |$ @9 G1 t
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} . z  X1 j" H. D$ j: W! w% H
<a href="/bbs/viewthread.php?tid=[field:tid /]">
2 m; b0 a% [' S/ ]·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
" Y6 `! ?: r( o- c* j<br/>
: m9 j) Q; A6 v1 b0 a: L{/dede:loop} 2 h5 ]: m' D+ ]
如果想调用某个板块的精华主题代码如下:
/ a* r2 P6 [" G7 A" y1 h{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
* ~- d. x  v# n' B, x<a href="/bbs/viewthread.php?tid=[field:tid /]">
. Q; N1 f8 b$ @# n! R- f, U·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> : ^6 ~# N# F% P- Z
<br/>   [, \0 \# o0 D9 t
{/dede:loop} % r9 ^0 C) Z0 {; F' Q
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,   t. t9 A9 y8 D4 |, B2 F" t/ k& R
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
$ x- i5 P. Y- A7 j. V" [) z) o4、调用的帖子列表这可以按查看次数排序,代码如下:
  c2 S) I# T4 F{dede:loop table="cdb_threads" sort="views" row="10"} ' P( ]; A0 _: h8 `) C, p
<a href="/dz/viewthread.php?tid=[field:tid /]">
3 b& A. Q, r8 E+ X·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
& Y- ^* W5 Z8 W<br/> 2 K$ L7 n! z4 b- C+ q3 o
{/dede:loop} - S: L7 L" l0 z9 c$ ?
其中sort="views" 就是控制按照查看次数排序的代码 # w4 T/ T4 Z9 _$ q! B
5、论坛置顶版块帖子调用方法举例:
" l6 J# L) a; y. w{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } , E- `/ e$ T) u
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
4 u; U- J+ j+ q0 e. l0 z·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
% X6 ]' Q% L2 q5 R2 _( K& z8 G{ /dede:loop } - L$ w1 W+ W; ?! o: }- O9 n9 s+ Y4 t0 c
6、论坛版块名称调用方法- D* i8 E+ v3 b- [, g3 d
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }   X; h5 h" R( T
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> ! R3 B: }) t# h
{ /dede:loop } ' U1 d5 h8 a* a' ]& s% l; u1 U5 V( a4 n
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
! n9 |: i5 F8 Q9 j. }1 j但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 ! e: d! t9 ^$ o" h. g6 o; T+ T8 {

9 d, H9 g$ x; x! B
' m( @+ [" ^/ y- S# Y/ T0 x% ?* Q4 Y% d% K
版块都是放在上面表中的 6 w2 w$ J. N% t! f+ m
表部分结构如下: 4 G" J1 k$ k% i! t' t5 |- V

- F# r& w/ r$ p1 ^* B  `
, u7 A8 _4 y3 @
* A. p' ~( R; S$ I5 Z2 c/ ?这样我们就一目了然了 , S. T3 S, K; u6 I- y, U/ M
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: ! R/ x& @' ^; C" \; p' f
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} " P5 S: M' Z7 }' S; \% z- z' r
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> 7 A% p6 ]) a% R* w" g3 N! {
{/dede:sql}
  M- s2 W8 x! f7 Z# O, @0 H

' O, a8 q' j1 l9 f6 s
# U  e' }( }& z3 h3 r5 A附:dedecms的LOOP 标记规则 " g$ L9 ~) Y1 O6 A6 f6 C4 c
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
& f+ t) y. `! U( F8 F3 i  适用范围:所有模板 : s7 N3 B* ?/ q( n
  基本语法:
" e( s# ~+ K, J/ }' H! f  { dede:loop table=' sort='' row='' if='' }
& Q7 A7 V5 G* j$ [. t% @$ J2 b  [1] table 表示查询的数据表
8 m4 ]6 f2 w% E" y% ~9 l/ v5 ?  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) # L. R' A7 M' S
  [3] row 返回结果的条数 " U( m) c4 k3 Q5 Y
  [4] if 查询条件 8 F' G$ z6 f" i8 g
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
9 m. A. J9 I1 S5 g{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 h7 m) O7 f* Z9 ^$ s$ dON`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 ^# b/ j/ g" _, \# B
<a href="/bbs/viewthread.php?tid=[field:tid /]">
: |8 m! g( s* M$ }<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
4 B) ]9 U/ m" A' H; |/ ]5 s" D4 X; |</A>
- a& G- @- v: w/ r4 W{/dede:sql}




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