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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 - w* T9 I/ e' e8 ]1 }
{dede:loop table="cdb_posts" sort="tid" row="3"}
: k4 e, Y* O2 q# D1 _$ g2 [! s<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> / [1 h6 ?! {$ t: T( S
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
& l) w0 V' c- W- X  z</li>
2 A5 Y0 p' ^" b# L{/dede:loop}
9 T& }3 E* K  ]  n! [( U) M
调用查看次数最多的帖子。
8 o# x5 b( ]$ T/ C; {. ~# }4 m{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
: X% c3 P9 G( h1 j0 p<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
. r+ K! s" T: u% g. l, R, A! T$ O[[field:lastpost function="date('m-d','@me')" /]]
, u0 }+ y0 D6 d1 u</li> ( D5 T1 a) `. Y5 _# o# S# w0 `
{/dede:loop}
  D" x! ?9 o4 m6 c3 z, f. Z调用回复次数最多的帖子。
9 W* A' {8 e) B{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
6 j# I8 _9 J0 o4 d$ A! }<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> # \! H4 `* y* F# E9 R4 y
[[field:lastpost function="date('m-d','@me')" /]]
  G+ R, h, ], Y" D+ q</li>
8 x0 _. ^% \- n0 m  `" |{/dede:loop}
# ?' N3 I0 S! [调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
( X6 S. R; N' r+ M3 ^/ V+ p0 E{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
+ M* }8 s0 i" Q2 x! D<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
* O6 _0 o: Z2 {( D7 @4 {: w[[field:lastpost function="date('m-d','@me')" /]] + F; p: e; o) ^3 w; r8 o
</li> 4 l; K* `0 v9 a2 z: g$ Y6 ]1 N+ V
{/dede:loop} 5 v. p  H2 }" F: U% M+ ~* @0 j
调用帖子内容摘要信息
2 J" ?9 M, ]$ _6 G& t; q* Q2 M8 }0 B  J
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
1 J- E; _5 c" ^! Q4 b+ ^' s7 x4 b" ^0 a
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} 3 J; f. F  F3 c8 B* V( n* E+ Z. \
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
6 a% v7 @# T: I3 E+ z[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
/ W0 d2 D! m+ s6 F2 n  h</li>
" m; Z! ]* ?# J{/dede:loop}
$ q, |; n6 Q8 y( n4 ~  p6 j幻灯片调用DZ论坛图片显示 . s8 B7 k/ m& M: w
<script language='javascript'>
- i! W0 w$ w2 Q2 m& j& Ylinkarr = new Array();
4 u4 |/ D& P: m$ apicarr = new Array(); - m7 r% ]  V( V3 _
textarr = new Array(); 3 S3 j% r$ Y' e4 N& y& L
var swf_width=280; ' j0 u. \' A6 t" G9 h
var swf_height=192; ; \+ I0 F; G. u, C  E. e% L8 M
var files = ""; * p* F" y2 A  Z9 m! P  e3 ~8 L
var links = ""; 8 a) m  q- s' B' J
var texts = ""; % q2 d) c! M5 t1 Y3 {2 U
//这里设置调用标记 : W1 g4 t( K! a
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
0 Z- M7 G# B- j- _" I: X3 v# {# A8 K+ w6 B2 ^, Z
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE ( y! c7 K2 V7 r/ v, W" H

4 \; |2 j# w& L  ?: ~) f  _; }) ?8 F`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
* W  m0 {/ O- @! Z9 i5 |' W% _' J9 y1 ]7 N& h+ ^8 S# Z
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; / v) E* c: ~' o5 B
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; # m+ F+ i3 v9 H8 f5 P! D) C9 w* L
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
7 `* K6 ~. Z# }- d2 d{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
9 K& @' n0 b( ?' h2 B/ m" e+ Y2 k0 K
; K8 t) R7 J: k; C: H4 Pfor(i=1;i<picarr.length;i++){ ; G9 a+ T: f0 b/ u1 O6 C  v
if(files=="") files = picarr; 4 \' t. N3 z: N
else files += "|"+picarr; # x6 \5 S" v# M. p
} 3 ]' H6 Z4 |+ Q. L
for(i=1;i<linkarr.length;i++){ # R( [4 R! I0 Q9 G5 Q: W
if(links=="") links = linkarr; 8 m5 n% ?6 ~' Q
else links += "|"+linkarr; 1 w# ^" w1 j0 N3 \. a
}
4 n/ [2 l) O# C& k' ~. J* wfor(i=1;i<textarr.length;i++){
" r- ~+ I6 A# M/ T, z2 p6 z$ A  ~! ^4 _if(texts=="") texts = textarr; 4 q8 J% M" Y. v* l1 k2 |2 N
else texts += "|"+textarr; 0 e' n- P% n  T
} ! R0 I- [' D4 V
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ( S8 K! e: n7 g

  d5 g7 F8 o. p4 A# Z6 ~/ ccodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" / d0 D% o$ \3 j7 K) ~& W) {

; P: K; ^' y9 P/ ~( Fheight="'+ swf_height +'">'); - K4 s0 d7 K4 k! `- m
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
1 s1 a2 }5 `2 x8 M% R- Y- R$ ]. W( v# P' G  F1 q
value="high">');
: A/ x/ G" w8 I5 ~4 E! odocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); , R' V8 ^0 I, i% g$ {3 @3 J' m  o, u
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); ; }$ x% J% t! P# @  \) [9 ]; z5 H
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
9 C; }0 A4 @( L, A% ]1 [
, X6 j, q: a9 j9 s4 O, rFlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ % g0 S7 U5 }0 G" A- ^% K, H) K& p. h

& p' t2 m6 }7 I) Aswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" ! h+ d4 }9 `( H8 n4 R
& T" g. K2 K  |; ]6 V
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
+ N" o- `9 V6 D</script>

* v+ i' j' K. v3 m' g# c' X% |5 x2 ^
  l. i3 E" c* p( P; g! g5 D3 H6 s' t2 Z
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
  C. ]6 j+ O7 Q  U+ u4 h. h5 |, }
/ ~5 c6 q; x+ _$ m4 b; H
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} - p! K& v2 r+ I% z' Z6 T
<a href="/bbs/viewthread.php?tid=[field:tid /]">
9 E: z* Q( t! U8 B·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
1 I3 n' I" g3 H6 `# {! j<br/> 1 ~- i, ?. R% {+ }" i% N: o
{/dede:loop}
6 u4 e* M) y1 [8 e! c4 d) o( k  ?: K这个连接地址你可以写相对路径,也可以写绝对路径。
; P4 A2 j/ V7 W2 C( g  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
( X' @: K: f" a% A  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html $ k) P" r% H$ [& v
2、论坛指定版块帖子调用方法: ) {( P3 e# |! N: i8 w3 U
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 8 |) v. X4 O! p0 i2 l
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
, Z! _% O& O1 u: q$ H: Z·[field:subject function="cn_substr(' @ me',50)" /] </a> ) f1 k$ @* S1 W( Z4 C! n& B
<br/> * d. N/ v5 G( v0 c4 K1 R
{ /dede:loop } - N. a( q' H) b# u5 b
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
6 g3 ?/ L1 K% A# |7 H7 {& A3、论坛调精华主题调用代码如下: / ]/ o! H+ e& P6 F9 Q
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
9 b8 |& I' N1 t; c1 L) g4 {! M/ _<a href="/bbs/viewthread.php?tid=[field:tid /]">
! J( c; R4 e  z$ H: a·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
3 S% p" l# f; t  C+ C; R<br/>
' J# J6 c; j# g3 \3 Z0 [{/dede:loop} ( l# G" P2 N! S" y( I# h
如果想调用某个板块的精华主题代码如下: 9 m- m$ @# X. N# K2 T4 M
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 7 N; p$ t# d6 C. B+ m; C9 a
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ' o4 g7 g6 k* C4 i" j) @4 L, E# J# ^
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> $ c0 `: h' x7 I) F1 K1 F1 f
<br/>
% e1 R5 Q8 U7 n, }; \{/dede:loop} ! g! ]" |3 A' w7 b) _) G  l* R
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
$ ]0 Y9 u8 b7 P7 |; @, v  ]  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
' [, p; i* u% n' S$ n$ ?; B# U4、调用的帖子列表这可以按查看次数排序,代码如下: ; H" ]7 o% \" Z1 y& w
{dede:loop table="cdb_threads" sort="views" row="10"}   o3 U+ S  ^& t9 n4 d/ x3 U/ d' e4 H
<a href="/dz/viewthread.php?tid=[field:tid /]">
( y; @5 M/ s% s4 T  D' E. ?·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> % X1 B; f. k' o7 A1 @
<br/> ) T9 y! M4 }! |
{/dede:loop}
8 ^1 f/ n7 p# D* N其中sort="views" 就是控制按照查看次数排序的代码
- c5 t* S1 B6 t5、论坛置顶版块帖子调用方法举例: 7 }' ]5 U( ~, p& X6 \: p1 C& ^
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
( J! }7 K6 \  e6 x' `; @<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ; H1 {; Z( R$ R3 H; F$ G1 U1 h7 U8 m
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> . C3 Q) i9 A0 P0 _
{ /dede:loop }
$ I% l# |; m/ E9 ~3 _6、论坛版块名称调用方法! _5 h1 p$ }. H- E" H
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
& Y9 f: k1 K$ i% f% X' O3 A<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> 4 T' k1 g: L. E8 s- |/ o" ?
{ /dede:loop } 0 I: N5 \: ^1 B5 k! {* ]+ a/ y/ S
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 6 U* n/ L8 C" x8 J* G* L7 |2 D" l
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
% y! E4 e; l' @9 z1 g* I1 J
5 B) a+ {+ ~& Y& p" T0 A
; ]* t' f( t* \* H' R2 L- U" F- }
版块都是放在上面表中的
  }0 B/ W" i  ]* h表部分结构如下: 7 N! [+ O, a+ s1 p3 N
9 U& j6 s6 b" X

1 l; W7 r, f; w3 R
" M3 {8 `4 z# B5 A这样我们就一目了然了 6 x+ B* l* F) b1 e' u- v
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: $ G3 _( n4 L1 E+ f
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
/ y0 k& D. x% U. G" Y& {. J8 J<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> , y: E" c* s& L; a
{/dede:sql}

: M% G$ |& O9 X) E
, u0 K+ J9 y6 A' N# Z
! ?7 S" i" |3 u( f% w" u附:dedecms的LOOP 标记规则
) o) Z! z, {: C3 o( n  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
0 v5 A3 {+ s  N$ p  适用范围:所有模板
8 I( B! f" N- c1 M  基本语法:
+ g; t$ G" v% t$ {! D1 j1 F- J3 y  { dede:loop table=' sort='' row='' if='' } 1 g# s4 r; U: Y3 ^* w$ _3 B7 Y
  [1] table 表示查询的数据表   h$ }' V* Z8 k1 b  W
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) % ^. M2 ^. @$ g5 _. Z
  [3] row 返回结果的条数
! }- k. {* V) k. @: `  [4] if 查询条件   `3 |8 r/ P2 Q1 _
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) # z0 E$ U2 s/ J3 \" 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` * V6 F1 N) Y; ]. y( ~1 b
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 s0 Z' `. \: x! r
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ; j& \2 G4 }; z" C. [% p
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
6 A8 f" s  s# M</A>
3 C; I% P" p! u- \  ~! E* q. H{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-9-5 03:54 , Processed in 0.024001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部