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

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

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

调用帖子内容摘要信息
" L4 R; c. g+ ]3 c5 Z{dede:loop table="cdb_posts" sort="tid" row="3"}
# _" H- x4 O  b( u* P<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> ; V6 o  R1 U" j* Z4 N7 R& o
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
6 i; e; E* \$ C% s& B</li> $ [$ N- C- N* Z, E' a8 z; H: j2 z, w/ ]
{/dede:loop}
' R  F- ~! j# O! j
调用查看次数最多的帖子。 5 N/ X4 i- f  f$ G7 X+ B
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
; F* X  O$ H2 O' W- P<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ! P$ ]* G; b, g' T0 @5 N& _
[[field:lastpost function="date('m-d','@me')" /]] # Q( e" @- w; d6 h% W" Q* G8 B
</li> ' P; k6 R3 \( c# p7 u6 A+ T
{/dede:loop} 7 _7 g% L/ i" t* @6 K
调用回复次数最多的帖子。
, V/ B  \, ^- l{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
5 {& A! L+ g, f& d6 }<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 I. Z6 {4 X. a[[field:lastpost function="date('m-d','@me')" /]]
$ K) n1 w5 ]+ O- M</li>
4 f% P7 k  X' U7 u. T- L9 T( a{/dede:loop} ) E5 h$ |4 L) B: C3 j& k0 L
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 # F2 ]! ^+ J1 ~" @2 }& x1 \
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 9 K' Q3 _' a- W+ V
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> ; L  \9 U/ R6 E' m1 N
[[field:lastpost function="date('m-d','@me')" /]] : ^0 h) S+ x  R: K
</li> $ _, h4 G% m6 o. R
{/dede:loop} 1 S6 L9 J+ v+ h! d+ h8 f! m
调用帖子内容摘要信息 + |) A6 m- v4 v7 I, J, ]% c3 S! V6 O

6 l$ ]# [* a+ M8 Z3 s5 yfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 % D& d: ^3 `# h  l

( v% p; b1 x4 f/ q+ i{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
1 b+ F) Q3 T# o+ K<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 8 g: @; I2 w9 L) ?7 {4 C
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
$ v$ n& r) K; q) Z) x. q  n</li>
( m6 d* Q0 V+ g2 B{/dede:loop} 9 P1 f/ w# N1 k- m  v- i* y& B
幻灯片调用DZ论坛图片显示 ' E; [% H  c5 L8 v/ s5 c& N
<script language='javascript'> 2 e/ P) }5 J) p! O/ Q9 X& D
linkarr = new Array();
* a4 ?  e0 \4 ^picarr = new Array(); 9 O. q6 G1 x& ~' ^: u* x
textarr = new Array(); $ ^, `& @0 L9 ]' Y
var swf_width=280;
( i" U$ t8 ?! |- G$ {6 qvar swf_height=192;
* r5 A6 I2 W) {var files = ""; , L  W8 u' I( `$ Y2 T8 D( D) y* P% G
var links = ""; 5 c1 M1 Y$ k- v# l$ O
var texts = ""; 0 g3 @+ ?- H& n  z3 ~
//这里设置调用标记 6 [# R7 i$ K4 o$ b" @
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 8 C1 y6 s' A# m) [. R" E8 n
& e& j/ B  v: B
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE ( K9 o6 N  d5 q6 ~" e& {$ k) O+ }

  a: T2 l! m5 C& v% }- O: e`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}   ^! x( P$ @+ u  V6 l! W
6 W$ O0 G6 A0 k
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; $ Y; T* Y$ l4 R5 h- W; I/ B5 ?/ Z
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
- A" o. U$ a2 d/ t$ o% t) [5 @2 ]2 mtextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
" z( r4 @9 R. [4 C% b. ^{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
. g, L" l1 P- i% \! \+ _& I; d* W5 P  G! [$ y* e
for(i=1;i<picarr.length;i++){ 2 b, l* X) P% s  ?1 H/ j5 Y
if(files=="") files = picarr; + `0 g. X: C" Z9 o5 P6 T) M4 U! y6 Q- ]
else files += "|"+picarr;
6 d5 Y& V4 ^. [8 d' `+ o1 F5 e} . N3 ^- R: N) f" X( K
for(i=1;i<linkarr.length;i++){
9 T- z' _& s3 B* |if(links=="") links = linkarr;
1 ?3 R- }6 j3 m: h2 Jelse links += "|"+linkarr; * y5 Q" e, X$ O7 {$ A4 s9 `
} 4 \4 F6 J+ I5 f# S- u& n- x
for(i=1;i<textarr.length;i++){
1 _$ r- [/ d- W6 c  Bif(texts=="") texts = textarr; . U" c0 Y3 g) _& w+ O9 l2 g* h
else texts += "|"+textarr; $ Q; W) }3 @# x$ j, n
} 5 F. r. I6 v, d7 l# R6 d
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
: H1 |  C% t8 P6 Y2 P  ]* |8 e$ C# q3 x$ K8 y
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" : N& \% |9 W! R3 h6 q

# s9 c1 _3 c: `! f( pheight="'+ swf_height +'">'); 1 O) d5 c8 m; |) T( b9 X3 g
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
, S) a) z& m; r' _0 D. w; p5 a( w0 r' H! `
value="high">'); ) B8 q- B6 m' i
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); ! c% g: x; c5 ?: V  {( j
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 4 y% d( s( e! r  a# e# I
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 4 z6 F. q9 Q1 S  F- b% s8 H/ P
# U" k: _. _' Y
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
6 m! w/ x! N0 _# q1 I! H- f+ j& k% R9 e; @' o4 r! W6 ?, y
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
+ Y: B. y3 ]: G$ V6 M9 {3 B7 {% B0 l" m
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); ! b0 ]; p! X( [  w5 P! z) l
</script>
8 e9 }3 G& Y: G! R5 ?6 q2 |
' r, `& Q$ q) L+ h# a& I
+ q+ K2 l1 w( G6 W
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 3 f  A: V3 Y' ~$ c; `  o9 ]" \
9 q5 I4 z; [6 `, ~1 G
2 `3 P6 C' V# B" `, B  V' g) L, X9 x
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
' O! m" }4 X. G6 e6 S<a href="/bbs/viewthread.php?tid=[field:tid /]"> 4 B- ?! j5 c% W" P" ?" R( \1 w: m" ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
8 G! D, p: \; w! I+ l. g+ F: n<br/> : w7 m: ^; a+ {5 a
{/dede:loop} ; D; X0 j! H' S, A" U1 n; q
这个连接地址你可以写相对路径,也可以写绝对路径。 ! n8 k: A, u: m0 s0 g
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] ) R1 Z9 @" \/ ?
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 0 E: W' S$ ~. s
2、论坛指定版块帖子调用方法:
0 Y! K" I1 ?+ \: @{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 3 N3 r/ ?" B; p& c
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ; L% a' h' @9 ]) o6 }! v: f
·[field:subject function="cn_substr(' @ me',50)" /] </a> 3 `  ~; S% s: B) n! ^  k
<br/> 0 s+ C" f, z$ J! G# ~( }
{ /dede:loop }
& J/ c9 r0 W9 o其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x # T$ t) {  Y/ k- Z5 y
3、论坛调精华主题调用代码如下:
! X/ c0 ^, K, W# t3 m2 I! J{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} 5 G# F  a5 R8 U# U
<a href="/bbs/viewthread.php?tid=[field:tid /]">
+ b6 q% |8 E8 K·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
% l5 r' r! W6 I' z6 E0 c7 W- P<br/> . Y  u. Z$ e: @! @3 X  H
{/dede:loop} / A* G& N* h) e) B# v; A
如果想调用某个板块的精华主题代码如下: + L& G& e$ n! w' f$ a
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 2 j  D6 x  t" W/ X3 {& z
<a href="/bbs/viewthread.php?tid=[field:tid /]">
. e; [2 K% q8 q( O3 z0 j) w  ]·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
( }7 G" R, |; q+ F; V9 q<br/>
' D" K: K' y# R: X{/dede:loop}
; u2 V) J2 m' A6 M其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
* q$ j9 I2 d" w& m  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
! x0 F0 |4 J# |6 n$ ~  K6 e* h" ]. r4、调用的帖子列表这可以按查看次数排序,代码如下:
/ b, P- r* t: c$ U" ^9 Z4 [. ?{dede:loop table="cdb_threads" sort="views" row="10"}
# M) N: K9 F; ~1 l<a href="/dz/viewthread.php?tid=[field:tid /]">
# l- O: |/ K& x; f% @·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ; C8 t$ r/ n8 [' x7 t1 N$ v
<br/>
$ }3 A+ c4 l- ^- ^0 L{/dede:loop} 5 }$ R( v; ~* D/ B) R% d1 ?
其中sort="views" 就是控制按照查看次数排序的代码 3 A& D! P2 D! s- v3 m. s, ~
5、论坛置顶版块帖子调用方法举例:
, p1 s5 v  I) X{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
7 a+ S( G+ X" m/ Y3 H* M<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> * U. b8 z+ S. h! ~6 I  O! n( T
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
( n. T6 Y# Q% [{ /dede:loop } . A3 {: W6 T& |* ^$ M
6、论坛版块名称调用方法
1 Z; B, K) y# H! L/ j' y2 i{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }   {' n* u+ i+ v# \
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> , F3 S! ?2 r8 T: X8 e3 x
{ /dede:loop } + q. H5 P6 b7 Y; p
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
! L$ Z) i# W' S; D; y$ s但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
6 o! S: D$ c6 R/ f1 N* d: v5 o
& m' ?; K- L- t4 T; J4 ^' ]+ j, R$ A" U

! {7 S" [0 P+ K. x版块都是放在上面表中的
- x3 Q, j. Y- P9 ~! v表部分结构如下: ' C0 w- I# i" z
; L. A5 d, ~- M: ]6 S4 Z. Q! I

' J' g+ j6 {0 ?5 C  |+ Q
& j8 _7 z, G, L' L) c& v7 p3 a这样我们就一目了然了
6 B- Y! ?$ U  J( q用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: + d+ Y$ Z4 i3 {5 ~% S, e& W
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
  ?2 b8 r4 ?6 P* B<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
0 ^# j, j4 }* l% l* `{/dede:sql}
! q  g0 N% O6 B" L. {  c) }+ x8 M
' C' ]8 i% M6 w# w8 _3 c+ S! e' j2 ]1 p
& U8 p; l+ Z6 l7 ^& w
附:dedecms的LOOP 标记规则
1 o. D. e6 y* W- a  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
) Z$ a0 F2 A2 D. ~  适用范围:所有模板
+ g- W# l: L. n' a& v0 b+ L* W  基本语法:
  E7 D& h: S) _% }  { dede:loop table=' sort='' row='' if='' }   u; _+ u+ n7 L* |! }
  [1] table 表示查询的数据表
" }1 T# w3 L2 |) B5 V  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
$ z, Z- ^1 l6 g- N, @  [3] row 返回结果的条数 " e9 o/ n5 e; f9 _( [5 Q* E
  [4] if 查询条件
# g# m5 [, j$ q& R# G# g9 G7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) , Z' j7 E+ M2 X2 v# V8 a' 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`
; g5 P/ h  f, o( m7 A: H7 X2 W. eON`cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND`displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
9 l& u) P2 L. b/ d% Q  g, B<a href="/bbs/viewthread.php?tid=[field:tid /]">
, A- `2 h/ q6 [<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> ( E# ^. W6 D& R( ?  T8 n
</A>
* q  m) j1 U2 X2 m3 J) \{/dede:sql}




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