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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
' _& a' X! F9 F0 n2 u, S" a{dede:loop table="cdb_posts" sort="tid" row="3"}
1 e" p3 O0 y2 D& ?* K! A<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
5 c, A. H$ H0 m5 S0 g& G2 t1 p[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 2 ^" {8 t9 a. O+ x5 r" r
</li>
# {; F( S: K' u{/dede:loop}
: p* J. w: ^. J6 Q" i& `
调用查看次数最多的帖子。 8 o4 P- V1 A/ Z8 s. p8 V
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
# \  r# n: m$ n% [5 j& n2 U6 s* z<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
3 P9 m5 }3 I" a- _0 l[[field:lastpost function="date('m-d','@me')" /]] ! W* Y2 ^! P5 k# Y
</li>
: [; I2 Z5 _  u{/dede:loop} ; r$ H/ f! H% l+ e7 _; X
调用回复次数最多的帖子。 . e: |0 x  J4 V6 A% J
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
. k# ~9 Y7 B  a0 t. q7 |<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 e5 k8 f) `$ `5 l& L[[field:lastpost function="date('m-d','@me')" /]] ; o; Y7 A) e1 |5 e+ m1 F0 R  K1 n
</li> ! T  O5 K8 S# V. j
{/dede:loop}
/ t/ d, r# I9 j- J0 K- @' S调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 ; |! J+ u, D( v0 F7 w3 Q/ q2 F; i
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} ( M5 t! v( @3 R! W+ X
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> ( `2 ?4 A( X8 ], }3 R* N" Z
[[field:lastpost function="date('m-d','@me')" /]] 0 |: N8 p5 d9 Y2 T0 v# T4 O
</li>
& V+ p8 ^" H' Q* \7 y{/dede:loop}
4 s6 a4 W! P! U* m( v8 P  W调用帖子内容摘要信息 # @2 Z3 d& W, `

0 o. [$ n! ^' ?1 G6 j# Vfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
- G( l8 `- d- A: @) p/ c; _0 l( l' u% I* l7 n/ W9 S$ ]1 b
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
6 D  w9 Y1 l1 D: l6 Q  P1 d* f; p( Z<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> % T7 F8 o' S9 `4 ~6 K9 Q9 X
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 1 s: Q+ s8 M4 W; ~  o
</li> 5 t  U  r1 u( q
{/dede:loop} % [0 a0 V# B7 A2 y5 ~5 e9 J4 o
幻灯片调用DZ论坛图片显示
6 x0 o. g7 w' u3 L5 J<script language='javascript'> ; |/ W7 l) Q3 v0 w/ N* i2 \. k% j8 P+ V
linkarr = new Array();
- A; v1 R1 H- xpicarr = new Array(); ) o! W% L/ B) ?  [# S) ~& K" W
textarr = new Array(); 9 \$ R$ Q1 V' @9 ]
var swf_width=280; ; f+ a% H" d8 M' E2 G
var swf_height=192; . {! \* j3 Y/ n, \1 `
var files = ""; # Z/ N' D0 d# d* P$ T5 `# ?" S- u
var links = ""; , Y8 {! ^5 {! Q  q8 q- Q$ Q/ c
var texts = "";
0 r. g, ]+ c7 Q' q4 S9 F//这里设置调用标记 : _8 I- O2 k0 {% T# S' X
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
$ @; n) d+ z/ U) K
; }! z4 T# `, a  G8 h3 c' x( o; L`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
3 I7 ^6 h; B8 @) s, V; L
5 Y4 B- g3 _0 f# i1 O# S`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
3 U9 M) o$ u" C: X
& d% L' R! p/ w$ K/ Z& z: glinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
6 ?9 _+ |) a& d' Q( ]* Q- \picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; 1 [0 x& Y# S5 W/ T) O
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
5 a' Y5 J. B( E: p2 Q; }{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 , z! f; U, W% m/ C) s" H  |  a

$ p6 @6 f! b; E$ N( j$ B) sfor(i=1;i<picarr.length;i++){
& [: V5 F/ u& E( i2 a6 O- ~; [if(files=="") files = picarr;
' ~3 L+ N6 u2 M- z3 P7 w8 xelse files += "|"+picarr;
& a8 M& a+ `& d, o. T7 L) P} " e3 f4 O7 w* k0 w: F* G
for(i=1;i<linkarr.length;i++){
, y/ s! W6 g  V8 K6 c- lif(links=="") links = linkarr; / O6 u* Z( @$ s
else links += "|"+linkarr; : y5 q2 P' D8 `& B/ S7 D7 }
} / f( r# w, F. Q! n5 p" Z
for(i=1;i<textarr.length;i++){
+ J  u  {, q; E! F$ `2 Yif(texts=="") texts = textarr; 5 v: Q" Z/ T. t+ j, Q6 c4 O8 y
else texts += "|"+textarr; 0 i) r+ a4 c3 z( ~% c! h4 {, w+ ?
} 9 E) G# m+ v/ U- n; K2 a( o2 E
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 0 {" E, f3 R: J; P7 [) ~
; d  ^: z% @; V- o+ B3 W
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" . S: Q8 k( O4 y! l- c4 |$ p
) l/ T8 K: y  R
height="'+ swf_height +'">'); ; b% l2 K3 {$ x1 j
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
- l- w2 Z* k, Y7 Q# b# p! `
% i4 Y; G6 n! @  t/ }value="high">'); 9 Z9 h9 v* G1 l
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); ; F3 H6 G; E0 d" y7 x5 F
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
- Q7 v4 H" @6 l$ qdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
- P6 P0 D! P( D) E* K5 Y' ?
# J3 l1 \3 ~' }. ^# t8 t, RFlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
4 M" F' D! D6 \) m: s5 t( A9 A( h6 o9 x, K# `8 U1 _
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
- o. \( }* a. V% ^' U' Y; b9 X% x* b8 l0 Z, Y7 W) F# X
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 4 n9 B# [0 i. E+ {* D7 R3 I# g
</script>

( E# b( s% o& |: n" k; T2 R
" P  c# M  {9 A0 M! b. n# B- @6 c: a% x7 `8 `
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 1 K0 J5 x' Y) l! }) y' p

$ m2 @" }! n5 B( K
0 Z$ J. v' K; K$ [7 ]8 z, a1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
0 y3 |# Z# p6 o5 n( }  |2 l<a href="/bbs/viewthread.php?tid=[field:tid /]"> 0 z2 N7 s. X& V5 c) w# m
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> $ L" h# X3 Q: F' c% j2 ^! b
<br/>
/ T8 }, Y! U" t! {1 s  p! {: v{/dede:loop} , x, K4 X& }% F9 m
这个连接地址你可以写相对路径,也可以写绝对路径。
% w( V" Z; `4 a  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] / I5 U& C" P* u6 d
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
0 ^8 G7 E0 D5 |6 O! G; y2、论坛指定版块帖子调用方法: & r- J" s# P, c8 u2 j
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
7 M) G8 U7 Z) O/ X<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 9 `8 E, ^' s$ ~+ _$ U: T4 X
·[field:subject function="cn_substr(' @ me',50)" /] </a>
, z% O7 U/ @: X, V( z1 v& k<br/> * F& [  I  ~- T  J
{ /dede:loop } , I% t% w2 }. m# l; B
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x + S, }/ S8 z- Y, ?3 N) }& a
3、论坛调精华主题调用代码如下:
! e% [* k. D5 R) |& y/ A9 F7 K{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
4 j! l$ |" Q2 \$ i0 C* S<a href="/bbs/viewthread.php?tid=[field:tid /]">
7 ~% w/ `" Y  |- F  [  j·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
( e3 f1 a5 P1 B9 F<br/> % A9 o1 U( v" w# a7 X
{/dede:loop} 9 R5 Q4 G. C. x
如果想调用某个板块的精华主题代码如下:
3 Y% a8 [9 q6 p) z+ d: i0 X4 z0 ]{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
; K# C, ~6 k. \% o1 a( r/ l; t<a href="/bbs/viewthread.php?tid=[field:tid /]"> ) [, g8 P) y/ C5 n8 R. |% p
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> # x# f7 H4 C* R4 X- `
<br/> , D: z6 y7 B, a  z4 @) O6 r
{/dede:loop}
0 @; Z' d, F; |: V其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
7 ?# j! l5 K) D* b  y8 y2 h  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
' ~, o9 O0 i- E! c8 ?' u4、调用的帖子列表这可以按查看次数排序,代码如下: ( m% v  ~, S& ~+ b* G; f2 o+ q
{dede:loop table="cdb_threads" sort="views" row="10"} , D+ }2 }6 I3 ~( Z+ R6 I
<a href="/dz/viewthread.php?tid=[field:tid /]"> 3 z. M, z% ?: h9 G; ]8 o4 D
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
2 S* _8 q" X# X4 p; n* r<br/>
& P: x/ y# Z; q. s/ ~/ z% t{/dede:loop}
  \( m, h0 a" P! J1 c8 ^2 `* u其中sort="views" 就是控制按照查看次数排序的代码
+ A5 K# L* I) [0 f/ m+ q" Q5、论坛置顶版块帖子调用方法举例:
! j, R) {- I' y, K2 y5 [% s, `. X{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
/ a! k( q% \7 ^" K. _<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
  f+ `8 B& `( w% T7 N& e, D, B" f0 n·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
$ f) J% A1 l8 @' p9 y{ /dede:loop }
: E7 P, J8 t" H8 \/ n3 y4 i6、论坛版块名称调用方法
" N% i. j3 i$ r. {& H$ ~5 M{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
6 F8 U( w, n0 E<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
9 D. T" ]% B0 S* o/ a* X/ g{ /dede:loop }
) [. e9 l0 V2 B& E* j# v注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
( c5 b5 z7 f" ^7 W3 r' D: o但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
- c* Y. D: y( v) T2 ^$ y8 D! ?) `4 w  @  w# t5 j( J3 L8 d2 x, v

  G% T4 P% A' c/ w. y/ X$ U$ d8 I! o7 D( G, W3 n; ]& B! [/ s  a
版块都是放在上面表中的 5 K# `" j' z8 g- J; w- M# d
表部分结构如下: - \" \1 g$ p6 J
& X% i# [+ e" l+ h* J" s+ G
8 @( k& m2 R! f# f

# B0 x& e3 x( ?) k5 q- d$ _( t这样我们就一目了然了 $ @  }3 G- b/ d/ T& @
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: , f1 A7 A9 i% ^6 @
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
! w( ~  a/ B/ F6 R; K  v<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> ( N8 R; I! L! v6 e
{/dede:sql}
' l. k3 |& }* @  C/ p5 A
! d3 O* f: |" C7 I/ [- O

6 o4 n: I" k. i+ C/ c附:dedecms的LOOP 标记规则
# @3 f8 t( V" A8 w  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 9 n# A; _" }3 q( ~
  适用范围:所有模板
  g: c: u/ W/ u  V, S8 C% M( u+ b  基本语法:
' ]% l% N7 ]; o) s6 n% l! k  { dede:loop table=' sort='' row='' if='' } 6 y4 d( s2 @6 P$ A, I7 ]
  [1] table 表示查询的数据表 1 I3 R3 c0 k' S
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) % y2 `4 U! N) B, B) {6 x7 h
  [3] row 返回结果的条数 + I" b- [/ j: o8 M6 n) S0 T
  [4] if 查询条件 4 r: B( T% S3 y( h# q% N6 b2 z% h
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
0 x3 G& K# p; `( M) t* h; 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`
+ }* D2 B! O4 ~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 "}
3 E# c9 S0 z* P3 M- `<a href="/bbs/viewthread.php?tid=[field:tid /]">
3 j6 Y# s7 ^* N+ p, _4 ^<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
' [$ \3 _) O! h1 ^</A> , @! Z$ t; Q+ ~. n+ t8 n) I
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2026-1-15 08:44 , Processed in 0.026002 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部