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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 1 [; a3 E. O# Y3 y% E3 N2 I
{dede:loop table="cdb_posts" sort="tid" row="3"}
! V/ r. e* e0 B& n+ c9 b3 C9 q- `1 d<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 8 Y5 b8 p. G: u# ]2 I, ~8 j3 g, {
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
+ |' x- J7 i0 U$ q4 W6 C  A+ {7 |</li>   P' J. D9 w9 S
{/dede:loop}

  X  D3 j9 b9 ^8 r7 N% v0 b调用查看次数最多的帖子。
/ P- A0 _, s& ]' }5 Y9 J0 }: s{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
; l6 z/ {9 h7 }( H3 L, O, j7 u<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 5 U0 ~3 y) o6 S* j3 X) ]
[[field:lastpost function="date('m-d','@me')" /]] , r1 A$ x' u, B
</li> * H0 _9 B8 d3 O' @. s$ Z8 a/ j& A$ }( T
{/dede:loop}
6 |& W6 N. K3 p1 K0 m/ M: h& x调用回复次数最多的帖子。 0 l( n0 Q& Z; a7 ~8 p
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
  |0 G# R7 Z4 ?, I* t1 r<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
' G  x' K. `2 O5 c[[field:lastpost function="date('m-d','@me')" /]] 4 N9 K) b: P* d4 \6 r7 o2 }( `$ b
</li>
- s' \& b, U0 X{/dede:loop}
5 e# W) S0 g7 ^- N/ [, i调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
  x5 c8 }, P/ P, E. x, O$ @; u{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} ( O! t! O9 y7 Z, y0 S
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
5 L" F7 D/ _; w: A5 a[[field:lastpost function="date('m-d','@me')" /]]
8 K% p- W1 d7 C6 s. k$ G</li>
' ]% o$ N) q4 a* _{/dede:loop} 4 t0 _1 V  ]/ p2 I9 r- [) @
调用帖子内容摘要信息
+ m. U3 W" Z  Z
' w7 m3 R8 l7 y8 Lfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
& K5 X2 C$ {/ s5 p
, M. C2 A2 W0 s# X4 u8 ]1 U{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} % c* p1 L  v& ?5 {; ~9 C! ^. {- r) t
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
( W) T8 D; K. R; a- a+ h[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
- }8 Q5 ?3 }* g) _  t3 c8 l</li> 9 q8 R: W. ?; ?; p7 j0 R% w
{/dede:loop} $ O- ?# |) M6 a
幻灯片调用DZ论坛图片显示 * u& A% x7 H9 {- L
<script language='javascript'>
- i* O5 `& S9 _8 s* _8 Wlinkarr = new Array();
& I/ z1 M3 s4 V6 W: Jpicarr = new Array();
/ E# q/ C0 Y! F' gtextarr = new Array();
3 ^# b: p. w- P* v& {0 A& x9 Dvar swf_width=280;
4 D: R: [+ V  |var swf_height=192;
& T! u5 Y& {! dvar files = ""; - O6 t# j% G2 C  a# g) p
var links = ""; . U% x& j6 W$ v$ W+ A- G
var texts = "";
% P- A  X5 u9 ?1 s% b1 W' f% t9 G//这里设置调用标记
" @4 W( Z' Z+ Y4 N{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
" ^9 Y  l% @% C( E9 `( H' Y, [
$ P) V! ?3 i' C`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
3 Z6 v, j. P9 y  [8 _' |: I# G; x2 s) e2 s* b  g
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
) b( z2 y6 F* e# q# T% X
1 E& @1 v2 E- ~( Llinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
, |9 @6 Q# W5 jpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; ' A( x' m( {; J! Z
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; . Y! N- B. p9 Q: J# {
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 - ^6 S, {+ z5 \# @
( G- j# A; Q% X+ D1 a
for(i=1;i<picarr.length;i++){ 4 ^2 d# q& K6 ?, S4 h
if(files=="") files = picarr;
: S( W' M5 u- b, Melse files += "|"+picarr; ) G1 O! v  E4 l
} ! h5 L" H( W- u- R
for(i=1;i<linkarr.length;i++){
( i" s" S2 t( g7 L, H; K" e% Jif(links=="") links = linkarr;
9 K5 g) i: C  ?# k5 _else links += "|"+linkarr;
; y+ b! v) @7 K0 u& U! d( q} 4 u2 y7 l' d- ^- c: {1 w, U6 G
for(i=1;i<textarr.length;i++){ , l) E+ L6 e5 s
if(texts=="") texts = textarr;
* f( b/ i  E9 v4 g" @else texts += "|"+textarr;
# J  k6 B" B5 D- L; i}
7 ^, w. Q; v9 O. ddocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ! d$ w6 o7 r. f) u) z

" ?1 V* E8 i0 J7 _codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" : T4 I% W! U: `5 E. {  a

9 |  R; s- M" N, N/ R8 mheight="'+ swf_height +'">');
. |, a5 H& p) X* C6 Ddocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
9 O' N7 r* r" Z7 z5 m! M' g; P3 e: c* @: J
value="high">');
( y  H; r( a3 K5 \7 u, D1 e  v. _% Udocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); 0 N; n3 `, A) ^( Z
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); . x8 U# Y0 S; D+ S& m# i
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
" @9 w; P; }2 U' D. J
- v/ n3 ?+ f( U' K. u, ^FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
# ~- p; N" U* O2 {2 t( d0 d; C, S) e0 ]# h  @2 r
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
. j: s$ \2 M* m$ W4 W( K9 }* O: l1 h& _, s
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 6 w4 F+ F) z. s" _& s
</script>

, j' Q' y- T4 s( W! |3 M; [
% [% @! j" M. _+ F( w
4 K. X$ H; }* l2 I; Y5 x$ ~调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
1 V: P/ W$ I+ V  d) ~! b4 T0 j
8 T  G, t2 z0 R) m9 H% d2 w
& M3 Z4 z- P) t+ ~6 u; N' n9 j: Z1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} ) j5 g# x3 ?  F* M/ h3 ~
<a href="/bbs/viewthread.php?tid=[field:tid /]">
1 F6 ~. p( z# h; l4 z·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
. X7 Z' Q% R. i- k<br/> . C% s, H$ x8 x" R" r/ k! l
{/dede:loop}
  S, O* l- v9 i6 f6 V' I. W这个连接地址你可以写相对路径,也可以写绝对路径。
) ]# F# \1 e6 p- G* x  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] - |& Q; D; ^- s) O
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 9 W3 V2 q. m) r$ i% x
2、论坛指定版块帖子调用方法: 3 s% T+ j# q% g; c
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
; o0 D8 Q; X* E6 V<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
9 E7 J- u( z2 D& i) U/ d7 y* [·[field:subject function="cn_substr(' @ me',50)" /] </a>
1 b7 `" W3 F1 ~/ v+ M5 Q1 ?: [<br/> : J# t3 o% U% w; Y
{ /dede:loop }
  v! F, ]; Q, |其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x % d8 F+ j8 e9 z, H
3、论坛调精华主题调用代码如下: : N, W/ {! o; D9 U% }% F
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} * Z  m" X6 }0 `3 _0 k9 e6 Q9 \
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 4 r+ H. t* |! Y0 M9 h
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 d! E) T. w/ f1 I7 @<br/> , m% |. c  f* ?1 X, |8 j
{/dede:loop} : A$ p" F/ W* S7 b" \- k
如果想调用某个板块的精华主题代码如下: 5 m& [! y" M! w' ^/ E- e+ V
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
) j$ |2 g7 M( R<a href="/bbs/viewthread.php?tid=[field:tid /]">
% a1 S5 X! f6 |, G6 d' Y1 d·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> " R. x# ?) v+ t1 W) Q, I4 w
<br/>
  A' W4 E5 i+ z* E{/dede:loop} , W' J/ S% Y4 ^+ y% b
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, 0 }2 B% O6 ~! b0 T! r2 V
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
( x) R) @5 I+ Y" O; q& o6 x% l4、调用的帖子列表这可以按查看次数排序,代码如下: 5 ^& Z# {: d  s5 X4 t
{dede:loop table="cdb_threads" sort="views" row="10"}
% v( P( ]7 P% |- f  b<a href="/dz/viewthread.php?tid=[field:tid /]">
$ L. Z# i5 p0 Y+ X·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
; |0 c3 I; ?+ X* }<br/>
5 ^. v1 O; M# Y! \6 e{/dede:loop}   l8 [+ }; u' g# z4 n8 S; y1 V
其中sort="views" 就是控制按照查看次数排序的代码 + ^' O& P6 V' t. }' B$ V
5、论坛置顶版块帖子调用方法举例: # T4 p, n# U9 n
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } . n! p! Z, K9 r
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> $ ?  Q9 E! P9 I1 y
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
% m% d1 X: P/ [3 c4 H: X6 j{ /dede:loop } 6 `; {( w, ^! j: |, t
6、论坛版块名称调用方法
; A/ a2 s5 p7 ]{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
( G3 ^) }: ]; F* w! m! R  K7 r2 I<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> # U5 ^, X  }0 s: [
{ /dede:loop } # Y& A* k; i) a' |3 V* v
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 " ]+ }1 c; T& F/ @1 N( ^4 s0 n
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 * B6 b; F  t( t! \2 b/ k
9 g! S1 c9 l3 f6 u5 `

$ e7 m2 u8 O7 d
& Q0 c3 m" C# ?版块都是放在上面表中的 4 l: ]0 v: v- x: x
表部分结构如下: ! E+ h) {% d, @0 w+ e3 U( g: b: b/ z

; i2 R  S& T7 \/ C+ {# T4 K) N4 c0 D, m4 r) Y; h1 {7 l9 R
+ T( l$ s" G% k, x: X
这样我们就一目了然了 ! s' S6 C, `* @6 M8 Q
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
1 m& |' V; ^+ t& B, s, t{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} 8 x5 b' y8 b) s4 i- A9 z" U" `
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> " ?9 W4 }* s7 @' {0 X  u
{/dede:sql}
; `$ m/ o) c- g' t

! u$ L( W( l, M- [, _+ p9 |/ I2 ^7 ?( T
附:dedecms的LOOP 标记规则 8 q9 T! n* W! [! ?6 B1 D
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 % `# \* C4 b. l9 D8 t0 o
  适用范围:所有模板
5 G" u2 b4 p( d% g  基本语法:
6 R6 Y+ N9 q2 P! h4 z  { dede:loop table=' sort='' row='' if='' }
! {! g0 T! V1 S) E9 F; A. M; D  [1] table 表示查询的数据表
4 c" O# N  o! }( q* R0 R  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) ( h( x1 j3 [+ O0 U
  [3] row 返回结果的条数
5 v5 h7 e& @4 N; V5 Y* |. P  [4] if 查询条件 . w. Y: a9 e4 u
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
0 c9 w1 o" i' E; V{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; J  _4 L2 C- A) n3 \5 B  {% O& f( M
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 "} 5 p9 ]' g6 i; f  U% @3 f
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 1 G( T8 f! }' ]( R
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
3 c, e4 [% S: y; ]# e  q</A>
3 Z0 w6 y+ A9 a{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-7-1 00:18 , Processed in 0.015600 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部