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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 4 y, a3 L* j$ ^- i
{dede:loop table="cdb_posts" sort="tid" row="3"} 4 @8 I1 @" Z. C- ?  [
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
4 F& [" F4 B" l' S. z[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 2 Y& ?6 J0 n2 T3 a: E
</li> , _0 K( R+ G' W0 ~9 j3 ?
{/dede:loop}

5 c) i$ l$ A0 x调用查看次数最多的帖子。 ; w( f8 e; ^2 I+ [+ [! ]- I: G
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
! T2 `( |6 n2 F<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
. i( R! X* k  z8 s[[field:lastpost function="date('m-d','@me')" /]] 8 g! @4 I& Z( f: C6 B
</li> 5 `, G. a' M; e- E
{/dede:loop}
1 d" ]  ?+ ~8 Y) ~& \6 k; ~调用回复次数最多的帖子。 ' `9 D2 b+ S' V/ Z8 F4 O- k9 h# n
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} , E/ K: `9 }: g  S' y3 Z* I
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
6 E$ @$ F; N7 p) R[[field:lastpost function="date('m-d','@me')" /]]
5 K5 A" y& e% Z2 j: ?, ^  {, A</li> & J) S+ C: y* h/ m1 |. I; e; |) o1 p
{/dede:loop}
% Z, p7 e7 T! Q1 y+ j$ O; ~调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 1 q( I! I  ~* x. x( o1 ]+ a
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 8 c& T  Q8 p! X8 H" E
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
2 O( F5 ~1 p. q* r0 w[[field:lastpost function="date('m-d','@me')" /]]
; X# D- j: K/ L( g</li>   W1 ~, R& v' R1 I
{/dede:loop}
( u8 A. I+ A6 a; s0 E  e2 Y调用帖子内容摘要信息 5 ]  u* X+ w$ |3 ]
3 f) x! v4 F+ c5 t: Y
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 : D4 j9 D: ?  a7 ?% _

. R9 ?1 ^$ W* h{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} 3 N0 o' O3 Q: n! F" R
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> - |/ [' C  Y4 }) _% C4 d
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> ( Q* Q! t7 W* @6 r- _
</li> : H' G) x3 a/ M6 N- @
{/dede:loop} 9 e# }% [* v% f  l
幻灯片调用DZ论坛图片显示
3 {# S0 f3 b8 `4 Y4 C3 t<script language='javascript'>
% h0 X$ w, w4 T8 q: T  Ulinkarr = new Array(); 4 M; o6 ~& F: z/ c) _
picarr = new Array(); : b$ p! `. \4 j5 s- K$ G
textarr = new Array();
5 }' Z; |8 t) p3 qvar swf_width=280; * P6 Y# V. h- O2 C
var swf_height=192;
- t' k* S! W/ X2 \  ^3 t7 M  Avar files = ""; 6 z6 P/ ^% w3 f! }8 C% }4 x
var links = ""; 6 _% y1 h: B2 r
var texts = "";
; H7 N/ W- C% }) ?# T- M5 ~//这里设置调用标记
1 a5 C2 K/ q& D2 D6 o2 `5 M* U{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 5 ?# C' S% J& P
6 {7 p* d& O7 a+ |. U6 y( s
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE 0 j" p; U% v: g' a0 N7 L
( ^2 o# c/ h& v* B% B7 X
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} 3 T+ f( ?. _. n$ G1 s, Y! l

$ Q, ~/ L& F5 clinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
( {2 O  F; a* \/ R' R# Bpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; , G, e( e% ]2 ]5 s$ {4 U0 l
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
  p# U! R3 H' [* w* \{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
* T, K5 q3 V% `- c
) C8 F& d. o6 |8 B7 X2 r/ F5 c! wfor(i=1;i<picarr.length;i++){ - x( q6 n1 y" t& W
if(files=="") files = picarr; 7 Q% \- b/ \- X% O0 B) D; P7 i* o0 M$ o
else files += "|"+picarr; , f) Y5 m3 \6 M$ w; r
}
& b. t0 L) A( `9 ]2 h; m/ ]for(i=1;i<linkarr.length;i++){ " c0 {% c9 ^6 d- l9 E  e
if(links=="") links = linkarr;
0 c6 E: q" ]. y* jelse links += "|"+linkarr; $ }$ A& e' N0 r$ `0 X
}
1 K2 s, D# Y* p# P! ^for(i=1;i<textarr.length;i++){
- b3 K5 j- B: Y( |if(texts=="") texts = textarr;
& t/ i9 W  F6 t2 A9 Celse texts += "|"+textarr; , c5 U6 Q/ o9 A
} 1 g3 U3 c+ E$ Y+ V8 I& L. V; i1 A
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
  H0 }$ [- S5 p2 x: J9 y/ ?$ K
  l6 o; U% @& R& q' t1 rcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" 6 G' J5 l  a/ r' ^: ?

& I6 Z0 V4 L! f6 F$ [9 X, yheight="'+ swf_height +'">');
1 x: q5 K. h/ K2 P1 D# e/ @1 R7 g, B; Ndocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" ' R; C6 u( L$ W9 F/ U2 C" o2 u

; x2 _+ W0 l) yvalue="high">');
2 ]8 g% C/ ]+ G2 S( X4 y) g3 c* s- [document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
% W/ s" r9 W2 G& {+ ^7 S, K. ndocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 7 b1 I8 v( X* o! N
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 0 V& i& O1 t& g3 O

( Q- B9 b1 ]: N8 i: QFlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
" K7 X( q3 l, {: t
; @4 B" q' L! f5 Kswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
8 B9 G" [' l8 \0 O
  C9 v& i. v& i6 `8 Ppluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
* g( \* D9 M3 r</script>

+ N( A" g8 h4 Z1 E) \3 z9 e  x) S5 f, z; z" e+ u9 \' u
# m7 k, g+ A7 o' B  _4 r- d$ @9 |
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
, D1 c0 ?! c; |% l- U+ _
5 v9 k3 V* l; b- i: Q! l% M3 U. `* U4 M6 j+ h% X, e" C9 g
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 5 X5 |- f& K. x" I: i
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ; Z4 ~' X% U8 [# ~  Z  w1 v% `
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
2 q* p. A6 \$ J- w3 n<br/>
& M$ o  ^8 j9 ]! ]{/dede:loop}
$ v/ E5 S9 ?/ z这个连接地址你可以写相对路径,也可以写绝对路径。 ! G( V( c3 X" @/ S& N* T
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
! j. `6 `4 D2 ]2 Z9 b  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html ) a7 Z/ a9 Z  R
2、论坛指定版块帖子调用方法: / U+ ?+ [; {- T; t' h( z# n; D
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } . ^. a4 K) E( h4 X) h, f
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ) c% p9 }5 d; Y) T, E/ i$ R# E
·[field:subject function="cn_substr(' @ me',50)" /] </a>
2 x, w+ `+ e( |, D, D( P<br/>
6 E% o! @  D7 l) D! V; L0 s+ o" }{ /dede:loop }
$ V& ]8 X7 m) H& `, n7 O# J+ Y其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
3 m. N& X& \* Q% K% c3、论坛调精华主题调用代码如下: 5 i& k4 ]" n" y! k9 `5 @) V- j
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} ; `/ [- F* }2 R) z. p
<a href="/bbs/viewthread.php?tid=[field:tid /]"> * h; w2 `4 r5 G$ i6 Q  V5 A" h
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 8 o$ w/ t, q* m
<br/>
: G0 b- s6 Q# w1 J8 j  u{/dede:loop} : t( K/ ~6 A! ^
如果想调用某个板块的精华主题代码如下: , ~3 M) ~+ C0 i! e5 Q
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
! l  _/ H  Q- N# R8 F6 P<a href="/bbs/viewthread.php?tid=[field:tid /]">
0 Q' {- i8 o8 O& V·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, I7 U  W& |9 l<br/>
/ i7 I3 l6 c. z& U* e" |{/dede:loop}
  m' [+ Y+ f2 G1 ]其中的fid=5是论坛主题分类id,可以按照自己要求来修改, 4 q- e+ T: w4 r" `1 n
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
; t* f, b8 [* \4 T6 r4 u4、调用的帖子列表这可以按查看次数排序,代码如下:
3 I; X) _- p  X0 b7 z7 @{dede:loop table="cdb_threads" sort="views" row="10"} ) b8 P. J. u: s0 x: Z( m3 Q
<a href="/dz/viewthread.php?tid=[field:tid /]"> ( E2 r* i$ T  Z. ~7 A! X
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ! h: R+ m6 B! R" K- w' T/ L& m: Q
<br/> : I+ F% o# B% V7 G* E
{/dede:loop}
, h6 a/ C4 S/ ?其中sort="views" 就是控制按照查看次数排序的代码 & `9 w, s' d: a
5、论坛置顶版块帖子调用方法举例:
: V4 _& z% |' s; [{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } 7 b! j8 K0 d% ~2 h/ [
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
$ E& B3 p1 {+ R* _4 u3 T$ I·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
5 t% D/ O( ?3 o{ /dede:loop } " `: k% i% J5 Q) k* I
6、论坛版块名称调用方法- d2 w7 j: u7 t( y. S0 k
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 8 x7 ]) S% A, J3 K+ u3 a* i
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
5 r& }3 C8 B4 z% s" X{ /dede:loop } 7 {! F; N! w' g$ T$ F/ \5 ?. |: B
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
& A, A# y1 Y5 v% z$ e但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
7 @& N  o2 ~2 S/ g% d; {
+ X, N; ^4 g0 u- f+ z& T5 Y
6 B4 n. w( H* x' b6 }* X% i2 T  B0 Z5 o& M8 J
版块都是放在上面表中的 & W7 p& m8 X8 o, b! o; B- G+ g
表部分结构如下: 7 I) W$ o! u$ ^0 C4 U7 {
0 _( j  I' G$ S7 _. P7 h

  J$ y( S$ E+ |8 u% A! a) ?/ W& g # h- E+ r& i: O4 e: q& |" A
这样我们就一目了然了
( N& O5 ^: D: x1 C" k6 S6 A用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
+ d' ^% H/ T3 b  \9 {' c! M6 L{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} . Z# Q* \2 t$ t& a+ V7 T$ {
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>   ~7 U4 Z) s% m5 \' n
{/dede:sql}
6 u" C/ a- ?, ]  N' G* w7 ]
% r; t- l  v6 J; V- D4 o8 W
/ X4 F( [- M2 {+ N* U
附:dedecms的LOOP 标记规则
% }; j+ O. b4 j$ f6 _  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
3 m2 k$ x' E# m( ?! @2 @  适用范围:所有模板
7 l% m2 n  c5 D" n+ o  基本语法: 8 t) g8 }) B4 N1 Q% }- q; k
  { dede:loop table=' sort='' row='' if='' } 3 j) B9 d" I' n4 ?; g. B3 F
  [1] table 表示查询的数据表 , @6 C# v0 ]* o, n' ^- h/ P
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) . P7 E' ^+ p8 X
  [3] row 返回结果的条数
, o/ s" R5 b7 z8 k* \; E  [4] if 查询条件 , W) P2 G0 p, z1 ]
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) % n- [" a: W3 k' @6 Z* D  Y4 x
{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` 3 r, Z; L/ b8 L$ e0 [
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 "} ' \$ b9 ?- m" L7 z& h) |2 p% l! }
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 3 w3 N. C+ x) n  [8 b5 H! U
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> ( B& j  |- Y# g& ~- `
</A>
9 |$ j6 N! b8 r! U1 B2 p/ `5 m{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-7-13 01:23 , Processed in 0.025001 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部