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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
6 E! z: z; a; c7 N2 ]{dede:loop table="cdb_posts" sort="tid" row="3"} , Y5 Z& D9 T& s  y7 G7 p
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
/ }1 c+ m9 _1 n) C[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
  ~2 U/ L6 C7 [6 |</li>
, M. Q9 b' D4 G+ f. a7 x( J- C{/dede:loop}

% \! W4 |( ^' b- {% u7 G! b" p调用查看次数最多的帖子。 2 i) ]" B% r+ C+ G! \! J7 K  H9 R
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 0 w: X$ o1 x2 j: E- h, z
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 8 @1 v# R* B+ r) R) O
[[field:lastpost function="date('m-d','@me')" /]]   f! n% }% K; g8 h7 b( N
</li>
& d) p7 U1 f( Z% D$ u{/dede:loop} 2 ~' [$ m9 u3 v4 V4 q" U
调用回复次数最多的帖子。 + v" W5 w1 T0 J7 S5 R: G0 S8 t
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} ) [; v  o  m( U- S+ X; I
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
6 T% ^" I# q$ W4 I* R[[field:lastpost function="date('m-d','@me')" /]] ! D2 G0 y4 s0 a% q: D% }+ [/ z+ Y4 s" S
</li>
! O9 b0 k0 v1 ^' G{/dede:loop}
1 w6 Y! C* n8 e& t% A3 i调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
* J" c( q; {- P. N- i$ x{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 4 C& }& v% x" m! j- p
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
2 G) O8 R* C/ g( R9 R9 P[[field:lastpost function="date('m-d','@me')" /]] . F  J" O- n! Y. |0 L5 G* Y; B
</li> 1 I! w- ]2 F5 ~
{/dede:loop} 7 P1 s3 Z' K' {7 B
调用帖子内容摘要信息   v. n/ L. Y) t
1 [! h4 R* N" j. K5 K
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 # O+ T2 e/ Z- E5 g1 ^
- K( l# d, S  ~1 e8 H$ J
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
3 T* Y9 E' V* @6 n<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ( }7 G6 T; K8 j
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
% V, c+ X% V. L8 U</li>
  y! M6 r5 @4 G  A- `0 ^/ C8 P{/dede:loop}
& E! G" w$ _5 N' T: n! M幻灯片调用DZ论坛图片显示
) ?3 I. U6 ?$ K+ d<script language='javascript'>
. F; S' w. A0 {+ Q" G- Z" B3 Elinkarr = new Array();
; g9 L9 t! I' Z: `. M0 bpicarr = new Array();
1 Z2 c; h: Z: D& Ltextarr = new Array(); 8 [# _1 m( _1 B/ }
var swf_width=280; 5 \% o" R4 v+ s5 A
var swf_height=192;
  e9 i, v( \- ?1 Cvar files = "";
! o% j# T- T- ^' {& z! mvar links = ""; % C5 Q+ L3 I' m3 N
var texts = ""; 7 J/ K" P/ S' _+ D" o8 X8 ]4 F# ^. L* ^% y
//这里设置调用标记
  x( P# N( C2 ~2 T{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 5 f5 ~, g5 |; d. T& D+ R
* F9 O5 T7 |/ a: U2 V% Q1 E- i3 L8 t* o
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
8 O; i4 q+ t- t) H: S7 q" B" o9 m) \9 R) W$ W4 P; t  U0 K
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
4 y' S5 ?/ H+ Y* r! Z3 N. G: R6 E) A3 v$ [0 n4 G
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; $ g2 r  N1 x0 [8 G/ |+ p
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
( W! F$ K: W1 H2 a% k: o+ c* jtextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
& S+ H( P, O* u7 I{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
! d  R' `5 T6 q: a: y7 M% M0 F' [6 f3 c2 K5 C
for(i=1;i<picarr.length;i++){
: D6 Y$ h5 U+ {- Z% sif(files=="") files = picarr; % ?+ e1 {# \, k2 z
else files += "|"+picarr;
+ J' Y) z  U& ^} 3 W2 B" ]' L" w6 a1 D  _
for(i=1;i<linkarr.length;i++){
& T" R6 ~7 M) ?2 q# Dif(links=="") links = linkarr;
$ O, _2 k; G+ y" zelse links += "|"+linkarr; . I7 ?0 z6 x( p" Y1 N% L2 r
} 8 M- n& D# M9 Z  }- m
for(i=1;i<textarr.length;i++){
* R6 S: e! {6 o5 `6 l' Mif(texts=="") texts = textarr; : X' C+ ~5 N7 z( M
else texts += "|"+textarr; 1 @- `3 b9 J/ ^7 R
} + _  ^( J& U  C3 v
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
/ s8 S5 }4 _. v. f5 d4 ?3 Q8 F  F- w% E3 A
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" % B& C# |) V9 @" |' a

4 B; p8 R# ~2 A: Pheight="'+ swf_height +'">');
9 `) I) z& ]4 U. ~4 |document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
% r6 c% p" q8 B3 w' x
. N8 }5 `3 x9 m+ x' J( Zvalue="high">');
! p, p" b3 `7 Ldocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); 9 x0 s# H9 P. d1 |) l6 h. g( D% I
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
+ r# e% `. l  I# mdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
8 a( [9 K6 y# o+ }  A) S
, g8 T4 m* O* bFlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
4 c) ?+ I' L; m: |5 L3 `7 [
. ]/ k/ ?5 w. ~2 s7 c. e& m+ Qswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" 8 C- V! J" b$ R, I. V! t3 [3 u
; J# W) n# h6 X9 `
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 4 c; u* s+ m( q  r/ _' h7 ?
</script>
6 L5 C$ X7 R; Q# K! u# G5 L" H

5 S: p0 g6 g0 p% }. [- K
2 G+ n4 T- J; v! ~" A* \4 c调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 ! |9 T, P- m& }$ J
+ F; ^% V# s# m9 }

4 F% k$ o" J6 n& m1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
+ E) ]! F8 w; s8 t2 y3 C# E<a href="/bbs/viewthread.php?tid=[field:tid /]">
# F$ O" s3 h; o0 O4 ~/ d·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ( O  l/ k" u6 \5 Q. c
<br/>
  H# C! z0 \. H9 A$ i{/dede:loop} & F4 W. L3 R! ^: L5 C  @
这个连接地址你可以写相对路径,也可以写绝对路径。 - k6 x: W5 w  s- y$ s
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] & ?( E" n* _2 J) }: J
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
7 R6 b5 N( T1 E- {' v2、论坛指定版块帖子调用方法: $ K! B3 t7 f: l: Z
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 0 m- ^6 n, _! _/ `+ ?) q: [% ^* ?
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
( M& f0 o' s. ~8 E! J% {. U·[field:subject function="cn_substr(' @ me',50)" /] </a> * B0 H" o, J5 M6 w
<br/> 9 f; E$ E6 ^9 P
{ /dede:loop }
/ d8 \. g1 g% U7 [其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x ' D. J! \5 N% w& H, k; u
3、论坛调精华主题调用代码如下: - y/ l% s# u( N) o$ Y/ V
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}   m. @' Y# i( v5 E$ J. N2 ~- I* x
<a href="/bbs/viewthread.php?tid=[field:tid /]"> + x) v) i) D" I) o
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 B) u; z2 [; _' T
<br/> 8 I. Z1 B1 |5 m( [  d
{/dede:loop}
9 e2 {5 x) U! h, u( h如果想调用某个板块的精华主题代码如下: 5 k( f7 N7 s* C7 z2 e( C6 U
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 0 ~1 Y# J! j% I$ m; w
<a href="/bbs/viewthread.php?tid=[field:tid /]"> . g! |3 l: G5 D7 D" m
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> % B( Y; s; z0 f) V
<br/> 3 j6 z& C6 r  @( E
{/dede:loop} : F5 `+ z1 \! Q/ h; R: U1 \
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
( t  A4 G$ g  K+ z4 u" j! A  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
1 L; t" m5 r2 _& f8 E9 U" I% ^4、调用的帖子列表这可以按查看次数排序,代码如下: 6 O: U& I: D* d+ X
{dede:loop table="cdb_threads" sort="views" row="10"} ( j9 M( C* P  g: _' B+ z
<a href="/dz/viewthread.php?tid=[field:tid /]">
; O% ?9 ?: X9 C) W5 H5 N2 s  B·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ' D- \1 I- z- p1 f
<br/>
' i. z: X! z7 k, ~( U/ ]1 J{/dede:loop}
6 f. z' H! c# S其中sort="views" 就是控制按照查看次数排序的代码 / \( L/ K4 D, v' Z6 I( n
5、论坛置顶版块帖子调用方法举例: ; y; l- ], F* S+ q( C
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
  K/ D4 a8 n$ Y" b5 m2 k  {<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
; j6 S2 i6 A. `% R3 m·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> 4 {, f  C6 D' D
{ /dede:loop } # n1 r# Y+ H! N( n0 v" [
6、论坛版块名称调用方法% K' \' X9 {  [# m
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 8 ]+ ?2 @: A+ S4 X, N) }, K9 j  }
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> , K0 Z2 [$ |1 I
{ /dede:loop }
. m* K5 b7 `# Z7 [8 q注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
! n. K. J, q/ g# l! c0 z/ k8 M但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 ) u' B6 z7 @) ^: j8 {5 g

+ l& F) d( v. o  ?4 I# w- j/ [4 j# a  m
, g; B/ r* x: ?1 z+ [
版块都是放在上面表中的
! A$ m6 q' h3 X( k7 m- q表部分结构如下:
2 Z+ {5 a: \% B, C! S1 D5 w% t5 F( u5 K

: F6 l- s& b- d- P$ {, \" K - D2 m' O5 w; f2 `: W7 D+ R" H
这样我们就一目了然了
9 Q; r6 W5 g! ^7 D9 M用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
( Y( M: J' V9 b2 }1 [) |! V{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} ) h4 j1 J; I" G- v; r# F0 i
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
4 A% m" V5 O, ]! \{/dede:sql}

- v, w: J) }6 Q, Y+ ]- F
0 [. Y* d( s7 T; {# u" ~8 x
6 ~& [! e# [; j% [- s. _2 a& J2 o8 T附:dedecms的LOOP 标记规则
' \, @- N! l! I: `) p  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 + n& V. g% B  q# h8 Q& W
  适用范围:所有模板 " }( e, Q6 _4 e
  基本语法:
5 }8 v  g1 q4 @( a: t- ]  { dede:loop table=' sort='' row='' if='' }
$ f( `* _9 g9 I( C/ d! e/ E/ V  [1] table 表示查询的数据表
4 x; ?  S: F8 K( C$ \  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) : e" F0 e# ^+ d0 |
  [3] row 返回结果的条数
: ^+ K" Y  F7 S2 R7 E8 T. V5 J  [4] if 查询条件
. T  E) ^! N7 L$ ?* I0 ?. O7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
: i, E$ f0 b' z, [! T5 r{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`
. \' {6 R$ s3 r+ lON`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 d# |+ B7 |; D" t' H, @+ z/ N- M" S
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ! p( J/ b0 ^  `; Z/ H% y0 l$ h
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> 1 }6 V2 b4 f) H, g" |
</A> 6 |- y0 h+ z% K
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-12-16 01:11 , Processed in 0.024002 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部