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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
. o$ O, Z. C9 Y- X{dede:loop table="cdb_posts" sort="tid" row="3"}
" h; c, X9 T6 c1 p<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> 6 g" l5 J/ M6 D& ~7 q" ^9 D
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
, Y+ ~8 b; c8 I, n9 U</li>
  E, F8 K! E9 z( c) v{/dede:loop}
# x. y+ F1 _8 H$ m7 S! p: J8 s" e
调用查看次数最多的帖子。
# l: y, G  _% I# `2 S{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 3 @& r- X7 [6 a# k2 F# Q5 G8 m
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ; f/ k7 s2 I. W6 A
[[field:lastpost function="date('m-d','@me')" /]]   N* [# V7 J( D# c& ]+ S3 C
</li> ) f. r3 D& L/ z& @+ a2 |
{/dede:loop} 1 L2 \& }# V% }- b, y7 G! z8 r* M) |
调用回复次数最多的帖子。
2 Z% j+ i1 @1 s4 v- }, ^  z3 K{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} 6 K1 m8 r& ]6 _6 S( X5 ?
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
) F0 ^4 j- n( l; G6 s[[field:lastpost function="date('m-d','@me')" /]] 6 {$ C) P% @: e8 Q
</li> * k  t9 C0 t0 Q4 m+ h
{/dede:loop}
! i2 z$ C8 j% q  `" _9 H调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 8 V+ G0 g: g7 ^7 s: K, ]- a
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
! ]$ R& U2 {  Y1 Q<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> - K2 V. f0 p  B5 g& Y' R# ^
[[field:lastpost function="date('m-d','@me')" /]]
: E; f2 }/ B. k2 p: v1 o6 h; q" E</li>
/ o; R! n- g) ~" z' s3 h{/dede:loop} 7 |+ T# n" t8 ^! A( L
调用帖子内容摘要信息 2 e' B; D( m! ]
; R' p+ v, w: s4 {( O" b( D( z" z
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 8 W4 R+ }# }# I+ S7 ]" [
: V$ q$ T9 w# ^% I& [# R+ I. F& h
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
  o- b0 O0 V% o; ]5 d2 [3 O; q<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
) W) [; e* n  @5 x# F& A[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
: `# x$ g2 V3 Z7 t$ C" \2 ~</li>
1 }! y# _* L2 a9 J! D# g9 i{/dede:loop}
2 j4 s  l2 p6 s2 W2 M8 L幻灯片调用DZ论坛图片显示
2 F# M  a! F' @7 s; w) r<script language='javascript'>
% r' i/ o( B! `6 {3 ~9 x. ]linkarr = new Array(); # W, \7 P7 t4 @) l) k8 U
picarr = new Array();
1 h9 f8 L7 {3 A" }textarr = new Array(); 1 N: [/ L7 [: l1 @+ I6 O
var swf_width=280; 7 a+ N$ Q2 V3 @0 M  N( B) x
var swf_height=192;
/ k! E% F4 y7 a1 f/ N! ?7 ovar files = "";
% c# s" t$ N; r( I3 B, e1 n; v$ U$ Hvar links = "";
, M1 m7 ?. {* B1 V  B) Rvar texts = ""; 9 m) _/ ^$ U; \
//这里设置调用标记
- T6 x9 k) q+ ^5 b  y( X5 y% {{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
6 \0 v3 N! w5 e6 z7 U( b4 ~# \  a$ ?0 N% F$ j
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE 8 N8 K. C0 l, b7 `9 c/ u' x) R
( _% q. X+ \2 ]0 m- e4 J
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
) `8 r  P4 q0 G. l
, M0 v! J( e' Slinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; ; j* i& |( B/ E! T/ G! F9 _* z
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; # E9 Z' S% ^( U/ ?# U/ \
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; # ~) |1 p, w/ Y% a3 X
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 0 Z9 f; M: O$ k& w: |( M

9 P7 h7 e' A, @5 d1 r% @* \for(i=1;i<picarr.length;i++){ 6 v- ?* e& d) v3 N1 f! P
if(files=="") files = picarr; 1 X2 Z. K" R& @. \/ t
else files += "|"+picarr;
) `0 L' N2 o. d} ! M" E/ v$ Y( u% V% k
for(i=1;i<linkarr.length;i++){ * c* u0 p# X8 l. j
if(links=="") links = linkarr; + _& O# x; n" B* f2 G0 h
else links += "|"+linkarr; % J$ ?7 M) H3 @' J  C
} ) }9 j1 Y) z4 f( N; E# s" \
for(i=1;i<textarr.length;i++){ , I& K+ N. d& A3 m  }
if(texts=="") texts = textarr;
1 _1 k6 s" _% C) velse texts += "|"+textarr; 1 D5 v' V. [/ Z0 x( a$ I8 g1 W
}
9 O7 I# J, p. i5 Q" ndocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
6 H& D( O) r' C
. ^7 ~- L* z, P+ n4 @0 Qcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" 9 R9 h7 h, R* Q1 j( L* S: |
  G- u5 h* P2 ]4 Q0 n8 K3 e, v% f4 m
height="'+ swf_height +'">');
6 X" b+ W; Y# O* F. A9 Y2 zdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
; m0 y- X" X6 a  a0 t& u7 ?
4 X4 p& Z0 Z8 R) K* S, |4 y% ~value="high">'); 1 r; O2 ]$ s' ~/ W1 T8 s
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
: H3 g* l6 a- N4 V5 I) v! qdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); % ~' j% _6 T- K, I& g* g$ p; L
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
0 X! ]. I0 q/ H3 k2 z( j% Q% h) P8 k! F0 v% k
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
6 u& J! \( H* q: @) I$ v
+ P/ b) q+ K( f. t- l- Wswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" 6 _6 b+ |! U0 y) b2 @" e8 a! l: ?
7 r. S. Z/ l  z
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
$ e7 U, [4 N( R</script>
. E9 L8 w! y) i

( M. L4 v  t. A8 ~4 g& G2 Y& L% b+ K) `$ c
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
0 S' N5 w  G$ i4 T) Q; y( w
9 O/ h. y  @0 r: a. I3 }
3 }) b+ S; g3 X9 i' N" v, Y6 X5 G1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
( a  G/ W) }8 L) ^5 }* ^<a href="/bbs/viewthread.php?tid=[field:tid /]">
3 o2 C+ I& u- @* W3 ]·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> , _! L" |8 |0 ]! y) B9 e( Q
<br/>
. S: J- f- X7 ?& l$ w{/dede:loop}
; z( l2 N' @" Q, ~' b# L  u) I4 a这个连接地址你可以写相对路径,也可以写绝对路径。 7 h* N9 B9 }% i; i: f7 a
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
  }5 [; c5 d& d% z. `; ^# c3 G  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
2 M; g  [' Z7 Q3 g- F2 J: }; Y4 V2 z2、论坛指定版块帖子调用方法: 4 i  l- T' u0 \) r
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }   P8 S& `" \$ J- \7 d* K
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
7 l1 ?( I& W! `: X  v·[field:subject function="cn_substr(' @ me',50)" /] </a>
6 l5 f7 x2 h6 J, q1 F8 I% ]0 Z<br/>
5 I9 i; k- I2 K) W0 n) _: B{ /dede:loop } : P' x9 k& d! N! ?
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x # j9 [1 D5 T; K( ]% I
3、论坛调精华主题调用代码如下: % \" q# e; @( N4 V9 N
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
9 J9 `- u3 f) a9 [6 [* ]<a href="/bbs/viewthread.php?tid=[field:tid /]"> % j# V6 e! Y. T0 E, V
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> " H. F' y' s) M, g6 [  H
<br/> 6 {/ d4 |) X5 R% b$ T" J, {
{/dede:loop} ; L* M/ c8 X! h( A: H" e
如果想调用某个板块的精华主题代码如下:
) C! d+ D+ ~2 w- u& x3 r{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
: H0 B! s- |; L6 Y6 V1 v<a href="/bbs/viewthread.php?tid=[field:tid /]">
$ M2 `. E4 e2 C·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 n5 I+ Q3 Q4 ?  |<br/> ' N2 v5 {1 D/ l3 \2 T+ j  L( ]5 W
{/dede:loop}
( z0 e! Y6 ^$ f; l: F4 v. o, f" j+ M其中的fid=5是论坛主题分类id,可以按照自己要求来修改,   C, k/ m- e1 Z# C  O
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
8 i$ {8 {4 [: W) i4、调用的帖子列表这可以按查看次数排序,代码如下:
3 I+ `7 b2 U" y! L2 s: v) E{dede:loop table="cdb_threads" sort="views" row="10"}
. q  y8 N, [, V" M, c& F0 H9 g  Z<a href="/dz/viewthread.php?tid=[field:tid /]">   n6 [: O# V3 ?/ g; O4 H, j5 J
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
. T/ b6 c' n5 `) s<br/>
3 \6 V/ d5 D! |4 P: ?" y{/dede:loop} ) j" ?# ?6 C7 J" l: h' t! |
其中sort="views" 就是控制按照查看次数排序的代码
* p2 B, O  n' a$ @, O! n5、论坛置顶版块帖子调用方法举例:
. B0 O) d) n% Z  ?& _9 c, Z8 |{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } ! {6 G. P( |: Z
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">   r7 R. r/ Q3 j, n- |# L5 c1 I
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
3 |/ S* E- H; }+ X) L) Z{ /dede:loop }
5 n1 u+ U) v; K% o6、论坛版块名称调用方法
8 e, e& f3 N5 I{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } * f. A8 Y) _0 ?3 S" h6 }+ [, W
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
+ ]/ M7 d1 |* B; s% x{ /dede:loop }
- w% c3 D6 X( Z" f  y  d& y注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 * E9 W7 T9 E# l) a/ a% E5 z9 O
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
+ B1 x5 U, \3 ]3 E& x' k! M
  J$ R' i8 p8 w  f8 ]. `
, Y; ?. s% J. L3 J3 ?3 S5 p# j2 M3 }$ s# c2 O& M; l8 H( _# V
版块都是放在上面表中的 * C* h, b8 z3 B8 x9 z6 |
表部分结构如下: , C- u6 I" N& h9 {, d
" `$ f: L$ S8 ?

' F. A; _& \" l$ ^- r2 ` 2 B# K3 P9 Z6 m0 M* q1 H
这样我们就一目了然了
( n2 w1 v3 e, H: C; w用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: . D7 Y( N& b$ E4 ~/ p
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} % w) o4 }/ G: k; Y1 @* i$ ^- h
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> 2 m1 u/ h. F2 w4 C9 p
{/dede:sql}

) P! Q7 I+ Q. [8 h* {# V. z) f' e' K7 i2 D

% }( K" ]4 l/ l" X6 {8 `附:dedecms的LOOP 标记规则 & M, P* Y0 X/ E9 Z0 Z; ?0 ^
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 . V; `+ r  a# L1 p% M5 B+ {
  适用范围:所有模板
+ m: j3 {* g( [/ g- S7 U  }6 ?  基本语法:
+ z$ k/ L( D2 l  Y, [  { dede:loop table=' sort='' row='' if='' } ( W3 [1 h$ y- d1 w' P/ Z! r  P
  [1] table 表示查询的数据表
' ]6 p" Q5 ^: a8 z2 Y- M9 V  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
0 G! {% a3 z. s/ L! L# \  [3] row 返回结果的条数
6 i9 _- z' c% j0 r/ P  [4] if 查询条件 + ~( @: L8 k$ E2 }; p, p
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) ' j* P7 f+ M7 c6 z, M. Q) {. d! z
{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`   P, h. Y; H! c/ J  t0 a" d0 v
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 "} ; _+ k5 l0 I/ P- @( |5 a1 f6 g
<a href="/bbs/viewthread.php?tid=[field:tid /]"> . k$ S+ ?$ [9 E5 s8 }- }
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
& t9 h* S! s5 q" Q# A4 q</A>
+ U" K- j* D" q0 G: w{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2026-2-3 17:56 , Processed in 0.024001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部