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

标题: dedecms调用discuz论坛帖子和图片方法大全 [打印本页]

作者: 航空    时间: 2010-8-22 01:05:23     标题: dedecms调用discuz论坛帖子和图片方法大全

调用帖子内容摘要信息
' H" k4 V# e7 ^. s% O. T/ V{dede:loop table="cdb_posts" sort="tid" row="3"} * x0 a1 y6 \) A# c0 B# k7 X3 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
& L! e% ^& n. I5 X8 J[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> ) G# [( P) v! @8 r" C' U/ O
</li>
7 d* f6 m+ o  G6 V, ]2 Z{/dede:loop}

: M* X& X# C1 r& y调用查看次数最多的帖子。
7 [5 f& @5 Q/ _: |4 M* Z{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
5 C% ]* v# Z, R! t( j$ F: o/ @<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ! u, F( {/ ^. g8 X+ p  z
[[field:lastpost function="date('m-d','@me')" /]] 5 I* g2 W; {' c+ d2 H
</li>
2 l' t: S0 R# {! \- N, ^{/dede:loop}
0 v8 m# l# [. o0 Q" M+ |6 N调用回复次数最多的帖子。
# B5 C# V- _- B{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
8 N: C4 Y% K. R8 M' E- e* k<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 9 k, a9 @8 t9 s; O  s* |
[[field:lastpost function="date('m-d','@me')" /]] # `1 V3 j/ X- K
</li>
( I. p+ C; {% t: i9 Y. }{/dede:loop}
2 j9 L7 I' x# W2 I调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 . q  _3 y2 n9 D/ N- L" P
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} # L' A( j0 D% D- S
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
0 y7 k/ E, h. L* d& f7 ?. y[[field:lastpost function="date('m-d','@me')" /]]
  E5 ^) d" {& |; X</li> 1 t* e2 {* F8 @6 x$ z& |8 c- c5 B
{/dede:loop} . j8 t/ r. k; Y8 J: j. ~3 X3 v
调用帖子内容摘要信息
( o, A. L4 \9 e! V4 U$ X; U5 w8 ~# m' [7 @5 P' Y9 j- X
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
! d4 N! `6 v. w+ {0 x2 ^7 M9 I: Y/ k1 [4 t
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}   V: v8 ]# }1 l0 f
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; Z8 _: S* N& T2 d$ Z/ e% U[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
( ?) \6 ^' y2 p" b</li>
( z/ a; ^0 Z( u$ _( D9 D2 z" Y{/dede:loop} + {6 \9 I+ s; s* a' }! S
幻灯片调用DZ论坛图片显示
5 P8 U6 ?' I0 J/ f) ~0 F& X<script language='javascript'>
6 _1 b+ O1 x1 a; ]  g5 _linkarr = new Array();
+ F9 L, ]& F  W) |% ^# Bpicarr = new Array(); ' E; r6 r3 N4 ^* C( V
textarr = new Array();
' o9 U( u! e( K5 Z$ d5 h" |( Xvar swf_width=280;
! k$ x# a6 j% y$ x# z# M; ]* i# X' Qvar swf_height=192; $ P0 [! }3 O% U) {0 s
var files = "";
* r. [1 m9 a! g% i/ k2 g  Kvar links = "";
% {2 o) e1 Z: ]; ^var texts = "";
% V  r* ?# S; t9 @' I# l6 }% B$ J//这里设置调用标记 ! ]1 B: D) N" G6 x( S
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
1 I6 t$ O& v9 e7 o4 z
+ W3 A2 Z- x6 J( s! C1 }`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
( [. ]/ a# x, I  L: [2 T) @" c- j4 D  H  S( V; `, e: X
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
$ w! _3 ]2 |. x  M' }1 U& v/ f, ^
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; ) S- W: c' ]0 R1 k
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
) c1 P" A% Z1 ]" K5 O) U7 f7 qtextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; - W. ~( o- \6 J9 p% |. ?* j
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 4 a9 o0 d8 i5 U6 U/ r

$ {4 V9 A! @) Q" [for(i=1;i<picarr.length;i++){ , {5 H5 S; ]& J: O
if(files=="") files = picarr;
: _2 q  T, p. J! P$ }0 i  uelse files += "|"+picarr;
) L% a: R# b6 d2 [# A/ j! F} % \# n# F$ x0 L5 {7 ~9 P- B: J
for(i=1;i<linkarr.length;i++){ # u* |3 U0 n7 V2 ]) A
if(links=="") links = linkarr;
' @: n* ?" C8 P/ B1 _" jelse links += "|"+linkarr; 5 ]0 [9 r! [  i& {/ e% g9 r/ w) y
} / p! Q$ U5 q$ {* S+ X* `( n
for(i=1;i<textarr.length;i++){ : T; o, {, h  j! u
if(texts=="") texts = textarr;
; a% |$ _+ |' K1 R: d# ]+ Telse texts += "|"+textarr;
6 l3 V% @4 {# ~3 q* s9 a}
5 j4 x& a8 [- h! H$ G! A: S1 a! U5 qdocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' q0 s4 X- v+ }) Y1 G

) ^3 H7 e. D' p  N0 u7 }7 Hcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" / \5 V  Z( j5 S" }* P$ h

) L4 J6 ?2 r' c7 jheight="'+ swf_height +'">'); ' L+ B( F2 Q/ Y8 u+ o, }0 X
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" ' c8 L, F0 d) M1 v( r/ O3 k
2 p. u$ |  ]/ i5 Z& T- e. Z7 w
value="high">');
2 t; b% b& L) h1 G! u! y8 ndocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); & _, l: W  h3 G0 v
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
; ]  Z# _7 o" I! ~* idocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
; r; \: v, a* a2 \- R) F! H1 o  Y6 ^: z- _: \! e
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ : }5 ^# [% [- \

- v* r! k% r( @: _swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" - A7 Y4 e) O  k1 s* q5 N" V

( }% N6 C) W3 `! Q  Apluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); - m* a# v; u0 X
</script>
; x/ H5 R" `% W9 m

: `% K8 i1 w/ B) j, S( I; w6 e9 `) q! K
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 " ~/ U( v$ B0 A7 N( T5 d/ n

0 C+ u, z  w2 k( G% S$ W$ H# u2 @# S* ]1 x$ E
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
7 c7 K( H  @+ t4 i1 I/ m<a href="/bbs/viewthread.php?tid=[field:tid /]"> 1 `  `0 N2 [* B" Z) j% I2 f1 u
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 6 r: f+ S5 d9 }, a7 f
<br/>
7 R# r. k$ D( n* I- M{/dede:loop}
5 e9 ?* f" O7 O( P  u这个连接地址你可以写相对路径,也可以写绝对路径。 : `) M+ c8 Y/ F& n" B1 M- x  ^' E% S
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] % l1 I  ?/ g" O( G# j
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 2 Q+ Y( Z& o% I! ?
2、论坛指定版块帖子调用方法:
' X' y% Y) f/ w{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } 4 ]% u4 `! T/ E0 g1 Y
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
+ W' ?! g- S; E* d6 @5 `·[field:subject function="cn_substr(' @ me',50)" /] </a> % L/ m( @. g" a: E1 K) h
<br/> * E, K$ }3 S5 z& V/ c) j
{ /dede:loop } + W- D; ^1 `2 V% o) w
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
! Z9 i5 V/ s( \& F/ L6 K3、论坛调精华主题调用代码如下:
  ?: U/ d5 \5 G/ D" b/ b/ x( Z# z{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} . P1 N7 \! I) _/ F
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 4 t# H( v4 C, {. [4 ?" T  S
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>   I( l! |4 @3 n$ `) H; L- k: s
<br/> 8 f6 T# w# P) X( q
{/dede:loop}
/ }6 _$ _2 B  i7 a7 U3 \如果想调用某个板块的精华主题代码如下: 1 y. V  ^# \! N. c( i) [
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 0 y4 {: y, C8 c, ^% N& Z, x
<a href="/bbs/viewthread.php?tid=[field:tid /]">
% m6 ]( T/ C( P# ?·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 4 v2 X+ e( ^; ?$ n0 U0 V5 {9 `
<br/> * L+ a* x2 p" y# {* L, l( s
{/dede:loop}
  r4 s* `7 ?/ n- C/ [: c! a其中的fid=5是论坛主题分类id,可以按照自己要求来修改, # v: O& x5 q8 I. a% ^
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
# s( S6 M6 U. G4 I% Q: D8 j4、调用的帖子列表这可以按查看次数排序,代码如下: . Z) M0 W* R  E' B2 J5 t
{dede:loop table="cdb_threads" sort="views" row="10"}
' U! z, s6 s: F3 z<a href="/dz/viewthread.php?tid=[field:tid /]"> / y# B9 A6 R% S! P- v! D5 M
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> # [/ r* `- u# O" B7 H, Y- {
<br/> & P# y$ e* d0 H. c% ^
{/dede:loop}
" ^8 u; D- i+ u( L. a0 @& n. d* Z其中sort="views" 就是控制按照查看次数排序的代码 ' L0 {8 }+ a& B. O1 P5 ]7 f' m
5、论坛置顶版块帖子调用方法举例: # w0 ~3 H, q) C. t- \# @) z: J( X
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }   i6 q( i- b/ V8 B* g+ Y- W
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> - f8 B" X# H, B) J/ I, H. h
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> ( R; y' [) p2 Z0 K& l0 ~+ p, K
{ /dede:loop }
" S$ @1 V+ S9 x$ r5 m- h4 T/ b6、论坛版块名称调用方法
1 R# n6 z( l: G( k: o% x{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } : q4 I6 Y( H) V7 p  _) X
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
1 c0 G9 ~+ j9 m1 u/ C" g( K# F" r{ /dede:loop } ' M3 Q+ G7 u/ A( _6 \7 j- e$ U
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
% L, f! N6 _9 C! L! W! j但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 ; G9 F6 S+ M6 V5 g$ X5 W

2 T" n. \3 _* @! _! ~$ }) h/ J1 L$ N/ X; t
# _' h6 Y, I+ B& `( s. L* D
版块都是放在上面表中的 8 P$ I; R8 r9 {
表部分结构如下:
, ?6 U4 ^; P6 X2 s- _8 d6 _
* T2 ]$ [8 s1 a2 B7 E7 {- \& a* N% p2 m% V/ L& V( Q

- o* L  P5 j& n( r- e- `这样我们就一目了然了 & U2 s; P+ P  O
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: 9 h- h! J. q' e- O- a% I
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
4 A' _5 s9 y# p* R& t! }% X2 ?<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>   U5 V6 r3 j3 m- F$ ~6 G
{/dede:sql}

/ F! ~9 J8 G# S% |! ?, T; Q7 S4 G9 i0 [4 Z4 m. _5 C, I

, c! F0 j# G7 j附:dedecms的LOOP 标记规则 2 \0 Q3 I8 J3 h; t
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 " c1 j: ~. n' j9 y1 i  X
  适用范围:所有模板 4 h9 E) C# m8 ?
  基本语法: # U5 Q2 e) h7 P% y8 K
  { dede:loop table=' sort='' row='' if='' } . Z. H, m+ d) K4 w
  [1] table 表示查询的数据表
5 G% |# C5 R1 c1 s( \' w  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) 8 F% f. m! ~$ [9 m7 S# d/ E2 s
  [3] row 返回结果的条数
3 q/ V7 y/ K8 a/ v; W+ w/ _  [4] if 查询条件 6 U. N* Z# |! Z
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
" T9 D8 w* F) ^" d6 ~2 `{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` % O7 t; F" i" X6 M% ~
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 "}
. [. |" m9 K* y9 c<a href="/bbs/viewthread.php?tid=[field:tid /]"> 0 h6 q3 S6 n8 o! ^6 V7 n8 j
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
2 O6 @/ Z& I1 w5 C0 [( a, r! ]</A> % _! H, _/ }7 H% X
{/dede:sql}




欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/) Powered by Discuz! X2