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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
# F9 b3 J4 X$ D/ X# V+ ]- j{dede:loop table="cdb_posts" sort="tid" row="3"}
- Z0 R& x# J6 j+ Z- Q# \- y<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 7 q" X! z, w( Q9 N
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 7 m8 Q; B+ x" O0 o3 i
</li> : D7 Y6 P) ?: L: v. U) s
{/dede:loop}
3 i2 Q& [! y: R7 h, ^0 Z- I
调用查看次数最多的帖子。
1 _7 P+ U  V8 u, [{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} $ l" t+ n) z% F! o( K
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> - f1 Y) b, _; J/ B: r6 Q: _! _
[[field:lastpost function="date('m-d','@me')" /]] . W8 r+ N; t* S& R: ~5 G
</li> 9 s* [6 W0 r; q
{/dede:loop} ( j+ a/ i4 N8 X
调用回复次数最多的帖子。 4 J0 b# i7 ]/ m9 b3 G3 Q" M4 v
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
' v9 t) Y% k/ a- V5 _8 a+ ~! K<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
( P1 P0 E* A1 o) |7 i$ T% J[[field:lastpost function="date('m-d','@me')" /]] : s% ^1 a) [, f* C9 X% j
</li>
0 }6 P' D5 w' q/ V{/dede:loop}
$ f7 a. t0 G3 v, u1 j" {& \/ G调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
6 a4 q0 P6 j& n1 ]- R2 i! I{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} - h( I$ ~! g' f+ z
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
* d: I; u* v- d1 \! y[[field:lastpost function="date('m-d','@me')" /]]
" ~* m" [2 G, @3 R</li>
( H1 b1 f9 O( N% U$ y{/dede:loop} $ O0 N. E! a( ]& I/ Q, h" e: [; P: G% a
调用帖子内容摘要信息 8 a5 @  ^: S2 v: R& Y

  }, g, |" s& \1 N- Y' k9 Efirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
+ i5 |; }/ E: C  n$ l" u& f! ?. }& u
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
% n) N, C- ^5 t: {9 u: L8 @! j+ {<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> . c5 R( C3 b8 g) d
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
( R# o3 \. g0 k3 I$ D</li> ( _  X) W8 H: V2 ^) a' a: K
{/dede:loop}
6 v0 @0 {! ?4 [, q* |幻灯片调用DZ论坛图片显示 ) g, k# A$ W8 t! B2 l4 K
<script language='javascript'>
9 \( @) g4 b9 p' N  [6 G* hlinkarr = new Array();
) A$ J$ e' D/ l; {7 o2 ]+ Fpicarr = new Array();
9 e: y" {$ [( L% ttextarr = new Array();
7 k; d) {  g! Nvar swf_width=280;
2 \+ |+ R9 m$ _0 p) a$ E3 q7 Ivar swf_height=192; ; H" o* q, {9 `3 ~/ n$ U1 u
var files = ""; 9 i$ c' W7 a2 `- f! T3 ~
var links = ""; 4 k+ z0 c: a4 I% V; O
var texts = "";
* e6 f; j% M+ I' F5 v7 R//这里设置调用标记
4 h& M. W; ?' X( t) @* |{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, ( l( G2 k, B: e! t3 l* H
; K" H3 D! _. O9 p! X# [* r
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE $ R4 U4 Z: y) `8 G$ s; g5 ?/ d
1 Y# b( L; k: d. j) h/ u3 B& b% V: p
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
! x; `2 z0 U  M& B  c
+ H; Q# n( ^+ v: D8 ~) H( llinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
- h; {2 H( z  Xpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; 0 T9 Z4 n9 H, C! z5 Q
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; ! ~3 I  S% l3 T8 z& g, [/ Z# `
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
9 k5 ?8 F, w. S. R$ B" r& v  |; [5 A5 p2 b3 F$ k+ h
for(i=1;i<picarr.length;i++){
: M. g( D  X0 ~1 N9 w6 Y$ I+ Aif(files=="") files = picarr;
" _6 M3 ]* F( N7 n  ?* q, |else files += "|"+picarr;
& N+ N: _; M8 P. b}
7 t8 C# e- ~% v6 o, ?for(i=1;i<linkarr.length;i++){
, N# Z3 W7 z: A8 Z5 \4 R; tif(links=="") links = linkarr;
# G4 K7 J; N; a+ [* Relse links += "|"+linkarr; ! c, W3 M* A1 K* i, ]: d
}
) m' o7 t. K1 ~; O+ m" C( Mfor(i=1;i<textarr.length;i++){
% l( `  S! D! P: j, c& M( W% Vif(texts=="") texts = textarr;
+ P% k7 v. E  M4 xelse texts += "|"+textarr; / E- n0 p; J) Z. [& o
} / b2 I. U! R7 m9 w* ^" R
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
7 W, _  [: I: @8 ~, m5 N) ?, s% b, H. X' Y  s
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
/ ^; x$ \/ C; _: r8 ?! _4 q8 d8 L3 I( r* ?5 O5 B
height="'+ swf_height +'">');
0 K' P) g$ o1 \" f) Ndocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" . A" M* r' I8 I; e- N3 P4 W% F. j
3 F( ~+ c* W; m! z0 j+ [  D. K
value="high">');
; u5 `2 C8 q8 C5 Jdocument.write('<param name="menu" value="false"><param name=wmode value="opaque">');
% n5 }, c6 G8 F* j& {/ @2 ~0 |5 hdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
+ a4 O  Z% \! p# r, G+ [* F) rdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" $ K& ~' _# a0 g' Q9 v) f
( A" H% e7 t* L% L2 Q) [) _
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
8 ~( V* \# j" E, J) S. i8 C! A1 D1 A/ I+ F5 v+ Q
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
: g4 _) c: ]6 [( h$ m3 V/ F- f1 @. p: y9 _; X5 a1 O1 f1 D" x
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
- `1 `2 g! b& a, R' ^$ a</script>

+ N# v% `# J3 D, n- c& ^% K; s4 C3 i8 ]' S6 l; e
- v: Z4 I' ^5 X( z2 Y
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 & s! Q* `% L- G& J5 C

- |4 I* ?, ^* E5 M$ s. K5 w' u0 P# O8 [$ n3 g- F
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 1 ~# H* K/ Z: F" V4 G  \0 l
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 4 [9 P# b8 E; D/ O
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ) y. {" H; o% P+ X- g) E, n
<br/> : v/ K+ X. p+ @- x+ @! ?
{/dede:loop} ' w8 @: L# @% A6 D6 f
这个连接地址你可以写相对路径,也可以写绝对路径。 7 }$ ?/ B5 v" L0 `  l. M; p
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
3 B9 a* |1 Z( k  r9 Y- ]4 u  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 8 K  c( I0 h% T  B
2、论坛指定版块帖子调用方法: 6 y( h: s( Q9 A6 w, f3 h1 Z# D
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 4 l& H& {3 |6 d. w7 g. ]6 I" p
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 6 Y9 U; Z  O  u+ r9 ?- Y0 [6 E
·[field:subject function="cn_substr(' @ me',50)" /] </a>
5 w# ?4 }( Y1 T; z* O$ C8 \9 p<br/>
) _$ h/ |: T, g' Y{ /dede:loop } - a+ @. o0 W) J
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
7 P' G% d; X4 w* {; D/ D3、论坛调精华主题调用代码如下:
1 b4 ?; N3 [) `3 `$ c9 _; o, l{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
* j: z5 u4 s( e7 w<a href="/bbs/viewthread.php?tid=[field:tid /]">
' ?* l; J+ K! F  h) e. H" q0 W·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 6 ]0 _$ a8 X8 Z  d" E9 e  r. A2 Q
<br/>
0 h5 r. n- w% G+ \& y8 `5 Y3 L{/dede:loop}
4 O3 e9 C% h% M9 ]5 U如果想调用某个板块的精华主题代码如下:
1 g/ e7 Y  C4 m0 U/ Q% n- P{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
/ V, L* T8 ?3 {3 j) K<a href="/bbs/viewthread.php?tid=[field:tid /]">
4 J% Y1 @$ Z  g* j! S# R1 [% B·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 @) Q5 u- \5 O' {6 f/ G
<br/>
/ ?6 b0 o; K$ q9 b{/dede:loop} 1 b7 u) h! M8 [% v% |# L
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
6 o1 m/ ^" g  V9 k0 u  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 8 V& h- ~  ?, K% N
4、调用的帖子列表这可以按查看次数排序,代码如下:
; N+ ~- f6 }8 u{dede:loop table="cdb_threads" sort="views" row="10"} * x5 y3 k+ O  m6 w$ ?. [1 h
<a href="/dz/viewthread.php?tid=[field:tid /]">
5 ?5 O8 d" n0 o3 x" j$ Q·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> - u! R4 W. d6 l( P) K, M
<br/>
( x+ U  O% o) g{/dede:loop} 2 n6 \8 v1 M* t. }3 K  M" y
其中sort="views" 就是控制按照查看次数排序的代码 % S7 R7 N+ z" T( A
5、论坛置顶版块帖子调用方法举例:
) a4 Z3 \1 d9 N! e; }{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
2 Q, c# @. j' l' M<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
2 d0 z. l( a- t' A# y·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
8 f2 V. j. w8 f9 w  y3 Q{ /dede:loop } 5 o9 c, i# F7 N/ ^0 z& @
6、论坛版块名称调用方法' t- Q' T' ?% [: w! r. u
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
7 i) [' G2 l; F<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
4 D3 a7 h8 P, j1 A) C{ /dede:loop } " ]/ D  Z& |( O2 j
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 # U' |. w) B& R  [9 h2 @7 W
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
# w3 p5 H( G7 c+ X1 Z( [3 [- Y) C9 ?; S
6 X; _4 K  l' e* o8 T' w
7 s' M: A0 }. g) K$ O. {8 G2 _
版块都是放在上面表中的 8 U( |9 G- ~7 e+ \
表部分结构如下: , i) I" b. Z' o, w$ S+ n, c  F3 T
, }  ~$ t2 r% W4 ^4 B( W, Z
* t' s$ R; J: g

, L" s: V# Q' x* `$ R; B这样我们就一目了然了
+ U) z& R# B+ W# C% t用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
& W' M; ?" k6 W5 G/ Z: q{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
6 `/ C* j* [6 B<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
% Z! W" |: g8 T0 b+ J1 o4 b{/dede:sql}

4 q7 e0 F6 r$ X. H* \! w. t) E- q. ~' g5 Z: [: c% e& q1 r- \1 X6 y

8 A5 D! F: c6 I' \2 d附:dedecms的LOOP 标记规则 / q, n1 f8 L% G
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
8 i! h4 v8 t# ]- K  适用范围:所有模板 " b9 W- W: ]+ a& E: N* Z7 R: `
  基本语法: ; p9 g+ D2 s  ]! B7 t" C% w
  { dede:loop table=' sort='' row='' if='' } . I, G0 H9 h5 L& }7 O- F
  [1] table 表示查询的数据表 " Z* t+ X4 M* a2 p
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
4 k/ m- U" C7 N- D+ b  [3] row 返回结果的条数
3 z# C2 i, C& h- @8 R) N3 r2 O  [4] if 查询条件 7 z/ E2 E5 N" r4 Q! ^
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
2 m- @( ]) {0 T* m  Q* ]{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`
/ ?+ N+ {7 p. O) G$ \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 "} / c! E& g7 q/ L1 R
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ! b$ g2 N0 R7 i( l1 h0 a
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
9 ?, a% ~0 C0 ^/ {; [- L: ~</A> 0 r" w2 W4 a5 d/ S  z
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-4-19 00:52 , Processed in 0.031200 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部