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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |正序浏览
调用帖子内容摘要信息 & r" i& A% x! H& s  \# E& w( g1 I
{dede:loop table="cdb_posts" sort="tid" row="3"}
5 B! i7 Q# \6 i5 U+ N<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 9 K( ?, L( e, ~9 \; Q, G
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 4 _$ n- `8 l  a- u- m
</li>
3 a4 f( ?4 M. L/ P4 m4 @" _{/dede:loop}

, P2 \; ?9 r: s% a# `调用查看次数最多的帖子。
" S, O* _1 P: Y/ P6 E# l4 i2 a{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 6 y2 x5 \' v9 i* q, n
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
1 |. v$ c+ G+ }" B9 e[[field:lastpost function="date('m-d','@me')" /]] 9 j" L3 a' F; L: X: l
</li>
& q- P& z: \3 w4 Y" n{/dede:loop}
3 q9 B" G0 C2 o, O8 K调用回复次数最多的帖子。
1 a5 A: S. ?, Q6 e4 x8 C6 U: ?{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} 1 T( w: [: l+ T7 ]' g/ k# d
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> " M! [- D& e8 I$ R( P. r
[[field:lastpost function="date('m-d','@me')" /]]
! g0 u: y$ x3 i</li>
8 ?2 T  J! X" w% v3 m{/dede:loop} ! \( |8 K, c4 H3 [* R) A
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 1 ~1 G4 h8 \: R1 U" j. P
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} % G; u" j& ^8 J1 ^9 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> " N; R3 C5 j0 a) H# f( D
[[field:lastpost function="date('m-d','@me')" /]]
% ~/ W3 \5 O; l  u9 Y</li> ) O& U2 |' w/ V" T
{/dede:loop}
& D- P6 w! V6 `; m调用帖子内容摘要信息 9 g' ]7 X; I" |0 ?1 L# {

8 U) k1 O1 I; ?! rfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 . U7 R0 b9 ?4 X2 S/ p/ o9 u# t  ?: t
# ?3 w1 ^# T, z' A& d( G, l# D# @$ G
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
; J; m6 |" F5 s: `9 p/ V- D# Y% N<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
' {' W3 x# A& O* k! e  U[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
* Q6 W! x2 X* i</li>
$ _2 R' ?7 L4 E# |5 X6 p; L& x+ g{/dede:loop} ; b- b& L8 G9 N! B4 d+ a
幻灯片调用DZ论坛图片显示
* I$ Y+ s% y, s$ S9 k& e<script language='javascript'> 2 [. \' [0 y7 f4 U' x( {
linkarr = new Array();
: a3 e9 x0 r/ [& e) U% \0 T! `8 E' f* Hpicarr = new Array();
/ e2 r/ E  p! btextarr = new Array();
7 X- Q) r! K5 N: k! }7 N6 Evar swf_width=280;
0 I* g  V2 q/ W, P7 ~) Tvar swf_height=192; # L( H$ U( d2 Z. L0 N' {5 A- D
var files = "";
( |! Y6 Z# ^8 E/ D5 z) `var links = "";
% v( S# F6 q/ x* M# d' Y, ]% O; zvar texts = ""; ( I" E, H8 H/ y! u* _) n% {# G
//这里设置调用标记
+ x! K0 d8 w9 n8 T9 D. l6 R2 S' O{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, ( m8 y" l+ c% [4 t

) g* D' ?9 T* V. L! K* \0 k. J7 Z`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
5 }, V: p% s9 F# V, ]# O5 E) ?2 Q8 k) ^+ R
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} $ p1 Q) ~6 V7 K  Q  M  E
+ z* [6 A. `# ^" N2 h' n, A" K9 e
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; : ~/ J1 o3 ]* j) g  y
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
, ^7 R* ]" ^6 z8 _% W4 z- v; T# N' \textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; / c& ~1 v0 ?# l: N
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
$ }. X* M5 W& Y- y3 j# e: p3 Z2 g0 A& I- W/ r4 G, b. z5 ?
for(i=1;i<picarr.length;i++){ ( B, F1 H7 [1 N/ z3 y5 d
if(files=="") files = picarr; - v8 H% W" j+ S  @3 ?* D" w6 C
else files += "|"+picarr; 9 j0 D0 W6 k! b$ F7 V) x
} / f7 ~  o( V) K9 e9 C8 l
for(i=1;i<linkarr.length;i++){ : q/ P/ e4 d% M- q7 M' O" r9 a
if(links=="") links = linkarr;
" |% j0 s/ w0 t% Z: |+ velse links += "|"+linkarr;
) Y1 E" A3 I& l+ ?$ Y}
2 |2 X0 l! O% K6 p/ [0 zfor(i=1;i<textarr.length;i++){ # H* d# H* @2 R" v# b1 Y2 b7 p
if(texts=="") texts = textarr; " i8 v# M% M2 c
else texts += "|"+textarr;
0 E5 T; }0 A, c, s}
- b# @2 ?0 K' x. A- Ydocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
0 t0 O( B$ n. u5 e7 G8 H7 g
( K; U% `% i0 _5 d5 J) qcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" # s/ F- M: g8 y& P% Z" s$ z; E4 d. p
  s  Q! i  `' l# k& X
height="'+ swf_height +'">'); - g2 C3 w; c( O" p5 I
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
* f3 c& z2 {7 A  L% g: f0 r# }* U( H& J+ ^# g+ g- `
value="high">'); 8 i% p5 J( J5 N# _* ^& A$ X( Q
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); . E3 H/ d1 t' \" F/ b( P% R  K
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); & ]" \+ {4 M% f
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 7 o8 m: i$ X" F0 C2 `: ~( o# P
0 x2 W$ K) \. ]
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ * w' ]" O+ H3 U: e7 t$ w  _

6 g) h+ K0 A3 j/ [swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" " z4 }. ^/ d, m# t" M& D

  m1 y" `: \% i+ f# s( Z- t, W% _pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); : T# ~0 t) Y6 a/ b
</script>

5 R# G5 \# K+ I0 B! B6 J) n4 f' c3 m! l1 a' ?

9 I. s3 v0 Y% Y5 M! [调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
8 V8 D1 o* M. P6 L3 z
) o2 Z+ J% J, [. C4 i% B1 j6 b. E7 u2 l% D9 X
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
9 Z( z9 A6 {) F( g+ g/ Q<a href="/bbs/viewthread.php?tid=[field:tid /]"> ! W* P* F  j8 v$ F( V. |
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> " l7 N9 |' ~8 @  K# e
<br/>
$ u( r; x& w0 T6 u0 c* u{/dede:loop} : X5 ?1 b6 ^6 k
这个连接地址你可以写相对路径,也可以写绝对路径。 6 A6 f/ _& G7 o/ J% X7 i
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] . H; o# E8 {7 V
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
8 w0 O8 d) r5 V0 R2、论坛指定版块帖子调用方法:
; B4 [/ |5 c8 X$ {{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } : W  T  \% y  Y
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
% B8 k* T' Y% c& R·[field:subject function="cn_substr(' @ me',50)" /] </a> ! S# y* o+ l  \% }- \+ M. `6 Z& Y) v
<br/>
6 x$ Q. {/ ?6 ^# O8 l{ /dede:loop }
- B" y0 s4 I# d* i: E8 R; e4 B' D其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
6 Q1 U  ^" T1 s" h* b; ]3 L3、论坛调精华主题调用代码如下: % B0 k6 U1 \+ @
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
5 ]( z* x- c& |<a href="/bbs/viewthread.php?tid=[field:tid /]"> 3 o$ w( {. K- {5 q- g, u  }+ e
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> : J2 K5 U( i: D2 [; @9 D* X& {& j$ {
<br/>
+ b# L" {; l6 k# w{/dede:loop}
7 B' w: b& r. d7 @& t如果想调用某个板块的精华主题代码如下: 6 l2 b" s& V2 I1 [2 W& }4 m7 I3 o
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
3 @7 R# f& L: K5 l<a href="/bbs/viewthread.php?tid=[field:tid /]"> / s. M" M, ^0 U) @5 B
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> * M& i2 e, q* u7 r: a
<br/>
! ~7 U9 N; X. C! _, I; V: T{/dede:loop}
9 X9 e5 W7 {) h$ @2 U* p: [其中的fid=5是论坛主题分类id,可以按照自己要求来修改, 3 ?; _; ^  c: B+ m
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。   u" w+ K" o9 {( N
4、调用的帖子列表这可以按查看次数排序,代码如下: 7 T9 h$ M4 E& l- B: {7 Q4 Y8 Q
{dede:loop table="cdb_threads" sort="views" row="10"}
/ K! Z) o& ^  g5 W$ x% `<a href="/dz/viewthread.php?tid=[field:tid /]">
5 I7 I4 X. i! X- X4 r; C·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
% b1 T; Q* [! J) }<br/> 9 c1 M3 Y, E0 _5 k( v) P
{/dede:loop} ! F1 A- a, F6 y9 V! T
其中sort="views" 就是控制按照查看次数排序的代码 1 q9 W8 C) C; R) R1 K+ N
5、论坛置顶版块帖子调用方法举例:
- h& Y( L$ j$ g0 X; B. m{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
9 Q3 g4 g& L' c4 S- @. y<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
# O6 E  X: c, U: K# g, p·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
& B5 j7 L+ P% y) V( r; k/ e" |{ /dede:loop } ) h. I0 G( l( G9 t" z  j
6、论坛版块名称调用方法
! ?8 v' m) G0 v5 z" d7 M) J, R' G{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
: g! m# c$ K& A/ G  l6 S1 K4 g) u, U<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
; n7 b% n& P  J$ g) Q1 T1 h. [; H{ /dede:loop }
% f# U/ b/ O0 m) z; ?注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 # k7 a' E( k2 E( r
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 ; W) N# w1 Y8 ]
4 L) p: M: I* ~- q3 g! G4 o$ {
( H8 N9 Y) r/ |; i! A
/ L* i  R" Q( f6 x+ ^/ ^
版块都是放在上面表中的 / N1 e. o8 @1 i+ B' Y/ I* ~9 W
表部分结构如下: / F# A' I: R* a) Q2 j* ?

; s1 f. R# k; w9 r. O% w$ J: }) ?6 t, j6 S0 A
% l) e, G$ G, M& K. b! I4 f
这样我们就一目了然了 $ H0 N% J" A8 J" {+ q+ w# m
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
$ w! l; E2 n2 i3 U6 S9 S# e5 A& d{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
- {$ Y$ c: y5 B- v' g8 I<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
6 {- W- g) E: R, A+ Z% b7 l0 L{/dede:sql}

; v& w, M, [( C
3 ~4 h' ], s2 J! R6 u4 d2 d
( `  g9 N0 J4 c- ~9 ~! Y1 b附:dedecms的LOOP 标记规则
/ b8 @7 I3 J$ Y  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 . M1 V1 Q7 `+ w1 E: N0 `. n+ k
  适用范围:所有模板
% r1 ?/ `' m0 r# m  基本语法: " @. D3 M  N5 B* a* K# M9 H
  { dede:loop table=' sort='' row='' if='' } ( U9 o9 s2 w' z5 a
  [1] table 表示查询的数据表 2 J; W6 a2 u; o% ^3 Z+ @. z
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) % i- t$ A8 h9 q7 y& O' \5 o
  [3] row 返回结果的条数 % }: t' Q; C* z$ K! A; q
  [4] if 查询条件
. O5 H" r7 y. z. |7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) ) ~1 b7 h* j9 \3 F; f) ^2 R' _7 E
{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` % c  k5 G0 ^& a' N
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 "}
' q- q& y4 Y: k/ U' \) U& m<a href="/bbs/viewthread.php?tid=[field:tid /]"> & \& H# ?8 f( _1 M6 @3 u
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> ( f" I4 L( p6 A; Z- E* i
</A> ' N" b2 u( w- R2 G( B& N; `
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-7-13 00:35 , Processed in 0.025002 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部