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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 8 a+ R/ t* E$ v/ a, D# Q6 |
{dede:loop table="cdb_posts" sort="tid" row="3"} / D9 r* \7 ^5 v+ ?. l$ {
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> + `2 k* w9 s( v3 T6 m& A: D
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
9 _' r' u1 I, _/ @</li>
: X6 ~! C6 s8 h{/dede:loop}
9 r% J& C* V. \5 ^6 C1 O' k
调用查看次数最多的帖子。 2 X: |' L# E: q! @5 N# \
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
7 v& ^( z4 p9 g1 D1 _3 O0 ?<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
# M/ }4 f; I. X, ]7 N9 V& o[[field:lastpost function="date('m-d','@me')" /]] $ s% y/ ^/ Q2 T9 @
</li>
' f% Y  n4 @5 Q; M) L, ^6 W{/dede:loop} 1 I/ W9 F4 Q/ H" M; s4 W
调用回复次数最多的帖子。
+ Q1 Z  ^6 V2 b' k. q' L2 l{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} 1 J; N, l- g; H' F" Z0 o8 C
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; p" H( A& ^% U- m9 u' r[[field:lastpost function="date('m-d','@me')" /]]
7 q# w4 t" ^+ t6 G5 S3 ?% u' H# ^6 D</li> ) N8 a0 c  s3 H# }; [# T
{/dede:loop}
8 A! v, m) b7 R9 N! `调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
$ o% P2 I% s. W' x2 H{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 2 E; O! k7 U- @" l+ k  b
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 7 A4 h( t( S, Z: q# ^7 A
[[field:lastpost function="date('m-d','@me')" /]]
, O- q, `5 C. X- f</li>
, ^# u8 ~# O' g6 }{/dede:loop}
& |) z! b6 T; M调用帖子内容摘要信息 ' v5 D3 T: ~$ c& `' x( `

' q( J6 Q1 M( x9 w: S2 t6 Bfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
2 @# \" u' a. S5 a' M6 X: F4 ?9 M+ _% I9 u
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} 3 ^# H" N' o8 `% J* K
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 3 h, G0 V" R2 u1 g/ L8 I. ^0 H* m
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
4 J  W  o0 ]: G. ?% V4 w; S" t</li>
" W  z. k. v: f2 t. A{/dede:loop} * _, C1 q* p1 P9 v; s% d
幻灯片调用DZ论坛图片显示
: m6 w; B# B% t. h8 K<script language='javascript'> # e  X- u% ?/ \5 @/ s
linkarr = new Array(); # @, b6 B" P7 l4 P; n
picarr = new Array();
0 M/ _/ S8 s7 V  E! Xtextarr = new Array(); 7 M9 ?: x3 l2 s0 ~3 j+ Y5 r
var swf_width=280; + s" V# W) e0 L5 s# U
var swf_height=192; 1 G4 \3 Z# A& [7 p, S
var files = ""; $ w6 I0 \9 N) A- b
var links = ""; 2 x9 O2 W0 W! T, d1 ^% D; }; Y
var texts = ""; 0 i, a: g4 P2 t# {$ J
//这里设置调用标记 - B0 D# y0 Y  h$ e5 c" g9 o2 F  T, I
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, / q7 s/ E% y$ z; d, b6 O
' n" u; v; P  I4 B
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
' t: A7 u8 ^, }% ^% \0 k8 q0 u! x9 N& [! G9 O$ \  z/ i
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
0 P' Z6 b' P% x9 @2 E) u1 q0 t0 J" w0 x9 u  w# P
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; ) X3 Y- p' d( K# p& k
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; % W4 O7 s& [- v+ [4 X8 h
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; ) E7 f8 V" p' c2 y
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 9 ^& M+ u' ]6 P. T7 N$ `

7 g% h' ~8 ?, }for(i=1;i<picarr.length;i++){
1 g- [& P' O. U; aif(files=="") files = picarr;
# V! ~9 J* j6 N  r1 b; A% k- ]# ?else files += "|"+picarr; . W' h# s# Z! L* s8 `! C
}
- X) P1 i# ?3 S& J  b2 ^for(i=1;i<linkarr.length;i++){ / I* ?- S, l7 R4 X. D& _
if(links=="") links = linkarr; 2 o: j/ @. A& q0 e5 b
else links += "|"+linkarr;
: a* d0 _3 q9 I' o, w. k- r}
. J! L/ Z0 D/ A' wfor(i=1;i<textarr.length;i++){
! x( ?' c' ]' t+ Lif(texts=="") texts = textarr; ; C" s( o7 M0 C
else texts += "|"+textarr;
! X' ?1 [; H& ?" a) \% S- R}
* B( G, |4 N, idocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
# p9 R! s& k% \1 v4 q1 |7 I) Q/ s2 N8 @  s9 o( R. V+ `0 F
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
2 N. L& P4 W! U, g/ R* _, m+ A# y: v( q& K
height="'+ swf_height +'">'); & i% I6 Z, F/ _& W1 F
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" 3 C8 W$ H- U0 n& }
0 i3 l0 P# F) O4 Y# t
value="high">');
. |* u! \/ J2 [! S. q- ^" z5 X5 l; Adocument.write('<param name="menu" value="false"><param name=wmode value="opaque">');
$ f4 w4 ]# N4 T# E- P( Kdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); $ {5 q' z. T2 d
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 9 g% q( |6 D' B
& |1 L9 i. o0 x$ c  A! a
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ ) ]9 n6 b2 l8 ~, _
1 b7 ^2 g3 W9 L  }7 ~
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
- X2 W  j* H5 O, p& q) f- q, k) |+ l) e: \% |
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); ' ~1 _  `4 k7 x, \- ^2 x( X  R
</script>
+ Z1 d2 P. P( K; g
* @" x' G" y9 L4 S  S  p

. A$ ^/ z4 V5 g) V7 k3 T调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 7 W2 X# @5 h" u3 ^
( f4 F2 ?: i% x" ~0 K! l0 ?

$ r3 j6 z" g2 ]. C1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} / Q/ X$ _  Q3 C
<a href="/bbs/viewthread.php?tid=[field:tid /]">
# E5 H6 O4 a/ y% V·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>   D, x5 [- g; o/ O( I
<br/>
7 C" d6 {) D! O$ q( `9 @$ H{/dede:loop}
3 E5 k: S. X( c/ h4 L. N9 l& D! j这个连接地址你可以写相对路径,也可以写绝对路径。 " P' t2 F" h2 m; s9 T3 x9 H
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
9 g5 n! i# ?4 \' L8 U  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
- }/ Q0 Q/ s" g& C! F2 V# Z5 p3 _2、论坛指定版块帖子调用方法: ( h( o7 f9 X0 F/ A, D/ V
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
. f) A" @" H$ M3 N! A8 c<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 3 q" I) [, }/ `" Q4 d. Y* ~
·[field:subject function="cn_substr(' @ me',50)" /] </a>
( \0 ?# P& ^7 v0 J! \# O<br/> + C& J5 h- Q9 w' H; F
{ /dede:loop } & C0 i3 q9 ^- y7 k% O1 M+ W
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
4 L* O1 `6 V, b' f3、论坛调精华主题调用代码如下:
$ b8 J% |- |. H: M& `0 N1 @2 y7 W7 E{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
) F6 g& u) r5 c8 K" ^8 a* Z# w<a href="/bbs/viewthread.php?tid=[field:tid /]">
% Y# @6 i* ?6 w: A+ K·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> $ p$ K$ U+ u' b2 |9 }# y( ^
<br/> 1 V; q$ V: l, N
{/dede:loop}
7 O- g- ?4 k! C6 Q' E- B如果想调用某个板块的精华主题代码如下: ! g# H4 i" L  c
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}   c+ T: b2 `' K; l& I- E6 D+ @
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 6 [# S2 ?, `: T! {; @$ s  l, ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
. k# F4 r1 a7 v5 j: F4 u' u<br/>
1 Y& }7 m% [3 H' i) U# Q: P{/dede:loop}
- p/ b+ I1 U/ ~8 ^$ Z) d其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
6 _- t! f7 U' @" X2 X  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 2 F- N9 d. b. ?: {: C9 f$ L+ ^" s
4、调用的帖子列表这可以按查看次数排序,代码如下: " S8 O0 Y; m9 J, l9 n4 v4 f
{dede:loop table="cdb_threads" sort="views" row="10"}
+ u% V. d! M. W<a href="/dz/viewthread.php?tid=[field:tid /]"> ' v& s) o$ j! L0 G" |0 O
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 2 P$ H) J+ B- I3 I& \
<br/>
8 ~, v" G$ n2 U. |# J) |  ~{/dede:loop} % Z7 Z# w! s) S$ v$ \# K
其中sort="views" 就是控制按照查看次数排序的代码 - e- c7 |; y% L3 ]7 L, v5 _" V
5、论坛置顶版块帖子调用方法举例:
( }* e) H+ T/ Q) }8 q1 v* `{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
1 [, H# i$ p* @<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 1 S, m6 S! M3 _0 b
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> ; Z* G* ~. C# @3 D* p% \! h
{ /dede:loop }
8 c8 E# t" s2 Q) S) N$ t2 C6、论坛版块名称调用方法& N6 @% {* u. q* j' b" o) i* _- `" g
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
$ n) l4 w( Y. A<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> : ]1 i" c  q2 f4 B- z9 G8 \! S
{ /dede:loop }
: M7 W* m/ ^! M$ j7 Y4 C9 ~- v注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 % n5 O0 Y1 C/ p1 L6 D
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
0 p4 C# \# F# U8 {
( I. K) h2 w, M3 N# M- T2 e
2 \5 D9 |- @& S5 Q5 _  A9 S) `' f2 G* W" n5 ~- ?: T" z& d. }
版块都是放在上面表中的 , N# @' }& U/ _& ?
表部分结构如下:
/ q9 ^  E% C' [: j: w6 p. M
/ n. e, ]9 A) X) f7 U! E' f- M
1 t, Q7 H0 P( v# B: v1 X
" k; V5 K. w& y' J5 Q这样我们就一目了然了
. {/ n# C7 |! B9 q用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
6 S- n5 P% E6 C0 p1 j9 }  V: j! m{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} . k. d  [6 J( k5 N
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
$ C3 H! t& w* I# k5 c1 m/ E{/dede:sql}
# b8 S9 P0 T6 G: K' f5 Z; `4 N
7 Z: X" E5 H* ]; h3 L, ?
( Z" j- d( n8 B6 i
附:dedecms的LOOP 标记规则 7 ^  I1 p  e, m' l7 `
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 . \! k' o: Q. ?) \+ b
  适用范围:所有模板 4 a2 A! H9 O; F8 `% B( T- F  h2 u
  基本语法: 3 [) i9 l$ y- \7 E% x& k% P9 a
  { dede:loop table=' sort='' row='' if='' }
7 Y6 Y3 G3 n- r; W/ k! m  [1] table 表示查询的数据表
$ \" i8 q( K' R$ |9 ]; r  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
. }8 h4 S; U9 K9 ^  [3] row 返回结果的条数 8 n- |; r& p# V, S! w
  [4] if 查询条件 0 t( t2 G% ?; Z, _! D
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) ! Z+ S9 _2 E, q% 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` + t8 l* L6 @7 J; ^8 e
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 "} # p5 n6 W% L( `) U$ g% Q1 i
<a href="/bbs/viewthread.php?tid=[field:tid /]"> - ^% o# s, Q" T/ c- h7 Z; D
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> - X5 b, }3 n; |/ E" |: T' n  t
</A>
1 t6 F) h$ n7 G* l: D; N9 s# r{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-6-24 02:53 , Processed in 0.015600 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部