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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 + g7 o0 f# ?0 p- J
{dede:loop table="cdb_posts" sort="tid" row="3"}
; L. v0 q9 q9 o' r+ {; p9 s<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> ( y  G4 ?+ {$ E; y* w
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
! }5 e7 q* r5 ~9 i5 o</li> 4 e; ^( v" z" N5 f5 |8 M
{/dede:loop}
  x+ ^* b/ ~: m& c' }
调用查看次数最多的帖子。
$ O+ v5 d8 G+ e{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 5 I% R/ `) U9 k( C
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> + ^" D3 \1 G; d2 q; }/ h0 u
[[field:lastpost function="date('m-d','@me')" /]] 0 f$ C. [) k5 ?: k3 O% F
</li> : ]5 p% g( }5 z8 H: X, L2 `
{/dede:loop}
+ M! V  T( q! P6 }( ]4 B调用回复次数最多的帖子。 * c5 `* s; y6 p# C6 P5 u# W  z9 ]
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} " U7 l% B' _$ k) s; @4 ^
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 7 `6 B' n, }, q) z- V. u
[[field:lastpost function="date('m-d','@me')" /]]
. B9 s! t. t, N' V7 n; `2 ]" W</li> ' c: n1 W/ G2 s3 N3 D, z
{/dede:loop}
( q" W0 F) w& _1 t! v4 x8 b调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 ; R" R) s- {% U/ B2 P
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
5 k+ @' o; Z0 v! J<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
- e4 G# K3 t" C1 m" ?# [[[field:lastpost function="date('m-d','@me')" /]]
$ l& ~4 y5 F6 u+ K</li>
3 m( f( ?, k4 o" R# z- {9 m- e4 V, h/ W{/dede:loop} * N% h) x& t( Y4 x7 q; l" R0 _
调用帖子内容摘要信息
: p0 m& C$ l2 \4 s/ h  K5 l3 ~) p, a  b3 ?8 \4 Y" F
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 . r' O/ ^+ s% L2 n, }( V

8 y+ c- d( c9 c2 X1 T{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
- D9 q! ]6 Q& o' ]- G<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
( P) Z8 d9 o) Q[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
: i: s' z9 H' N/ y8 S2 ~7 {$ N* O, U</li> % }- F$ j+ v) |
{/dede:loop} ( w" l! x$ T) g2 i
幻灯片调用DZ论坛图片显示 7 G; L7 Q! f0 j* e) R: W
<script language='javascript'> ! u/ N& d- W: F5 B4 F$ q7 E
linkarr = new Array(); , N  W- I3 s* x0 R4 A: N/ s5 Z  d
picarr = new Array();
/ {% k% r( `- U6 u0 `# N& qtextarr = new Array(); 6 B' D% D9 D- _
var swf_width=280;
+ T1 I, x2 I; j% m; Vvar swf_height=192;
5 f) m8 |& S/ }9 W( x8 I' @6 ^var files = ""; ) ^: j( M$ m# n) e; W
var links = "";
  @9 Y  x. v5 g6 T4 Evar texts = ""; * X/ ]1 r2 Y, w3 l  z
//这里设置调用标记
# S( @) d* Z# {3 @  r{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
% d1 e0 J) [* B7 q( V" z
7 n8 b" F) _8 W0 h$ q5 S`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE ( @( M7 [* _( D0 q

; j2 W1 D0 @0 ]4 t) l`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
9 L/ K2 T$ j: _$ X; A
) r5 h$ V) v0 F+ W! H3 Glinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 1 N( k" i) j. R; Y5 S) k
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
3 v4 k$ M3 z' jtextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
7 v4 ^. p- ~; H{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
6 S8 r# ?) @5 f. A4 E+ b, V: W& Q1 X; j7 h! W$ B5 [0 T
for(i=1;i<picarr.length;i++){ 3 {" o+ q' V5 o9 F3 L6 n
if(files=="") files = picarr;
- f- V6 O, ^5 P8 W" ~: A- G+ _else files += "|"+picarr;
2 V! ]+ j# }; ?4 n}
7 C' S& r9 ]* U, ]; ]6 x0 Cfor(i=1;i<linkarr.length;i++){
9 F- R  j2 ~# M0 kif(links=="") links = linkarr;
- j2 X+ f3 ?6 L+ n% J; ?else links += "|"+linkarr;
1 t- M; r  y$ B7 M- I. C2 ?}
+ l/ ?, a0 T2 T3 s; v) Xfor(i=1;i<textarr.length;i++){
' b8 Q5 V/ H. t+ b4 j$ y2 h: T/ |' zif(texts=="") texts = textarr; 6 _7 J; R5 l1 z$ ?
else texts += "|"+textarr; & \, b" D' y( k. g( m4 a& ^
}
! [& Y8 w4 {0 M  h3 m0 v" b+ pdocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
/ Y% O4 Q8 U8 l8 ?- ~
. I1 [5 K' s1 x7 \6 G; q7 z- fcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
+ z6 P3 j* p* p$ v" W8 T* N; c0 a( F  I( K  Q
height="'+ swf_height +'">');
8 f# |+ i$ f7 N4 N- hdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" / f" t$ A3 R5 p1 h7 h, V* A- `, F
: b: Z, g( w" \4 \
value="high">');
) \" {' n+ I. Y$ m5 c6 c* \document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
7 T+ ^- H0 c) \" {3 Pdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
4 A5 ~/ z8 g7 fdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 6 h9 _3 F, _. u9 G, \
" W4 Z; _- g: \4 p: O' N$ Q. F
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ 3 d9 [  t& N3 m8 @' _* I; `
1 W8 w) h; ?$ `$ E3 L
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" ' m9 v% z6 |7 Z8 I: v

& S1 n9 h. R* S5 P1 _pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
! P' W# k: O2 H7 |# v: U; d</script>
$ o( K0 _9 y" H- D0 c+ O; p# E4 p* P

& \9 _" ~0 Q8 O5 N/ x+ C' }5 u- m! V; j( |5 B, Y* h+ ]
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
* H; ]+ K8 R# k0 D* F8 r
- q8 k; s9 ?, @" q& K& f1 ]* L' x, y7 S6 Y/ {% i
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 9 j" d0 C: L! m! P+ j
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 5 v* l# y2 g- k6 B, }; \! J
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
2 v- F1 _: f9 A<br/> 9 q+ c) N; g6 e7 U0 x3 o
{/dede:loop} 9 I/ {) z: g: j
这个连接地址你可以写相对路径,也可以写绝对路径。 8 p6 ~" @) n! P! ]
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]   @  ]! U6 F# T
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
0 l% `0 P0 V" W+ l5 ~2、论坛指定版块帖子调用方法: & j5 }' C! c8 m3 t; s; p4 j* D
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } . q6 j0 ^& s1 {' S8 p
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 7 g, _4 Q) s/ R: r8 H! u3 l
·[field:subject function="cn_substr(' @ me',50)" /] </a> . w1 g# F  _# K* W. v2 X
<br/> 1 g7 E% z: Y% q$ a5 N
{ /dede:loop }
0 y# J6 ]$ Q! V) x, @: F, A其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
8 Z7 b! P) ?6 S  E( m3、论坛调精华主题调用代码如下:
& }6 R$ l6 }! ?, ^* O9 n{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
. j( ~6 V* Z+ Q4 ^# B2 J% |5 z<a href="/bbs/viewthread.php?tid=[field:tid /]">
% G( v1 T& v8 X$ {3 |' D( F·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 2 h0 _9 U* h( V) ~% `' I2 p, p
<br/>
& {( X$ w* D" N! F{/dede:loop}
4 q1 f' e6 s% W3 k" \( `如果想调用某个板块的精华主题代码如下:   ^4 _2 J4 q! R  d4 W  {# i
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 9 y1 Q8 E) k" T. w
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ) z2 ?( p7 U# `: e) f
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> , b8 R( |; ?) ~
<br/>
; ]% R# K) p8 G! r% z) {{/dede:loop} $ [* z$ P4 o& k- J6 Q5 o7 U2 Y
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, ! r4 r( a% Q& F- E% Z) `; I
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 " U! N: [9 c8 t+ b6 O4 G
4、调用的帖子列表这可以按查看次数排序,代码如下:
8 q+ ^3 s. o( e6 Z1 \{dede:loop table="cdb_threads" sort="views" row="10"}
* s! w: L1 N" {5 g1 v0 `<a href="/dz/viewthread.php?tid=[field:tid /]"> . k$ _$ l# v3 j: {$ @! E  _
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, F0 `3 @0 G7 X! P: H, F4 U& j. [<br/> 9 w6 I* ]. t1 `; v1 {6 `: p5 M# N* e
{/dede:loop}
3 K, z! x1 }. c% `; s其中sort="views" 就是控制按照查看次数排序的代码
* o: Y. F1 G1 V8 _5、论坛置顶版块帖子调用方法举例: # U& g" |4 O, |' Y" d6 {
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } 9 D. x$ _7 h# q0 p1 S# |
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
- [+ Z/ g! ~( M·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
0 i. f" J& {  r  i{ /dede:loop } ' {- F9 e1 \) n/ s3 j4 P
6、论坛版块名称调用方法+ p9 f* G$ \# t$ k
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
0 z. Y, r0 o. ~3 @7 p<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
. U4 D- Q. c0 P{ /dede:loop } ( q. B4 m+ }7 }% ~, q
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 3 g% D2 ]" x- I$ i; N  W3 _/ i
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 ( J* F# v3 E: U- M* n+ I. d
; f. f' f2 G, l- y! l

7 @) b. C' z1 y. }: z0 t9 U+ g: h' P4 Q
版块都是放在上面表中的 " g3 @& W& w" U* e( Q: D' l
表部分结构如下:
+ G% b$ x, ^7 u7 x' d/ O) q& k7 H6 N  l  i5 M2 P
, {, A7 Z" x$ g3 H, g
2 z# ^3 g  i* Z3 q/ a& N1 g
这样我们就一目了然了 , ^% _5 E* v' z4 s
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
$ J3 A2 t1 p) M! b{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} # ~8 A2 I) W9 F1 v- k7 o
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> 8 n  W; z  V; H2 f. i* f
{/dede:sql}
2 C- n  I  a0 X2 n7 Y

# h, H1 W' s8 F: E5 l, m' s
6 J9 B/ W( q4 R9 w4 M: \  |附:dedecms的LOOP 标记规则 ) I( g5 Y2 }# r" R
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 8 l6 K3 o# Q* [# \( D
  适用范围:所有模板 , D5 L- `( ^6 B$ d/ Y
  基本语法: 3 ~: ]! `+ e' R( h+ A$ S6 E* c
  { dede:loop table=' sort='' row='' if='' }
9 c3 Q5 e7 J( Q" Y# A8 N5 U# T3 A  [1] table 表示查询的数据表   x* O; U  G0 ^) V) K6 [( {2 }* p
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) % b2 D5 N% A2 w. Q) w* H
  [3] row 返回结果的条数 ! u, `% q7 \2 i7 z/ B* n- A. }5 Q0 D
  [4] if 查询条件 % C2 ^) J( @# y& D% j2 ]; V4 ?: L
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
# k+ {7 j/ y/ C, \# r+ |& 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` & G& z  H6 u4 o! w8 D
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 "}
) F6 C7 D2 ?, h% ^<a href="/bbs/viewthread.php?tid=[field:tid /]">
0 \5 x( k. k6 r( \<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
5 Y; N. |; ~* `4 b  ?- r</A> 2 U; U7 }, V. U) K( O; p2 P/ h
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-11-24 22:59 , Processed in 0.026002 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部