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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 2 \. y. c+ D0 n$ P* l' G
{dede:loop table="cdb_posts" sort="tid" row="3"}
  m3 F0 J- r& P4 M$ x- j4 k8 w<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> - n. D: O5 `& ~6 m* N$ l9 k- i5 B
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> # h* |4 c  P% u5 `0 q, d$ J9 U
</li>
, T8 U- R. T" m$ G" [( W{/dede:loop}

" U* M4 z" ~0 x* c# L) H调用查看次数最多的帖子。 % |3 F! \" _8 u
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
3 A" |& K1 M" D<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
& B; k; u" d( z2 E[[field:lastpost function="date('m-d','@me')" /]]
2 c/ U  A% O7 T+ C6 ~7 }</li> & E3 ]8 N3 F5 Y" e0 B- v7 w
{/dede:loop}
0 _+ z4 k" ~6 v: w调用回复次数最多的帖子。 & q4 T& P7 N  @2 T6 p, j
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
' T1 \$ N9 B6 P6 Z# x0 o3 G<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> " f2 W$ K- f5 Q5 r$ e$ `% |
[[field:lastpost function="date('m-d','@me')" /]]
1 A8 V( [& d. k) R& p- K</li>
) `# y6 P$ P. t( d{/dede:loop} 5 I% ]8 W  I& C1 q
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 8 k/ _/ K/ T' G1 T# {4 }  ^1 w
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} $ K. y- N+ R4 O7 K
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 0 Z* l- q$ S/ X6 ]+ B. M; ^! U
[[field:lastpost function="date('m-d','@me')" /]]
& R, s8 T$ i6 A, R0 {% c+ E& L</li>
8 r: I4 Y0 R! Z/ S- t' Q. h8 S{/dede:loop} & D! Z: Y9 R0 z
调用帖子内容摘要信息
/ g& ]! ^! Q+ D) ]8 @; o3 }6 I& Z7 N7 a0 B  h) t- p9 j: k# O5 u
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
- W, i1 |% h, I# R
% ]- [2 L% B: A{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
8 \2 K5 ~; B' ^" z! S<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
& D9 ]& v1 [' `% d[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 8 \; v5 e. w0 Z1 s+ b
</li>
/ U/ _' {* K% @. X, I2 m{/dede:loop}
& x! R8 m, ]; `7 _  ]幻灯片调用DZ论坛图片显示 * q9 F& C! }/ t# w( ^
<script language='javascript'> " M" y1 {: v: N! Z: g
linkarr = new Array();
  F8 @; j" B- S4 _% Y  Q, @  Npicarr = new Array(); / C& h" \6 o# j2 A3 `8 ~, |7 A' B. O( M
textarr = new Array(); 8 \; R4 z2 {& e$ C
var swf_width=280; 2 H" N( s# D0 C
var swf_height=192;
: O/ X( G+ F3 n3 Z5 [3 V3 Gvar files = "";
. D$ J% R4 q; Q: q: v7 kvar links = ""; 7 R' h; P' a) E) I' w
var texts = "";
5 X8 k) U( ?/ ]% X- y" Z- o. k//这里设置调用标记
; v" X1 s7 {7 b) U2 e{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
. E  g* g2 _4 J5 {- r* ~) d& H6 s! B) ~  A  b( A3 l
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE $ H" g9 |# v3 C$ L0 y% d
5 Q1 y/ o. J) @2 B7 o6 g, E
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} , u, G+ o- c' p6 M$ a& f/ \

9 }( c1 P; F7 b% x. wlinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 5 e+ h4 B: @6 O& r7 `
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; - S' ~1 n) l9 W0 |" d
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
( `; v8 z# @4 {% Z{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
2 R8 c& Y4 Q# r1 w
( J5 W0 C% I+ U+ p5 ?! i" }& `for(i=1;i<picarr.length;i++){
1 X- {! t4 H$ D; I  m+ rif(files=="") files = picarr;
! n( C- d" q6 B% Oelse files += "|"+picarr;
$ N* g# \- b& {}
) G8 R6 G1 k" }' Z8 vfor(i=1;i<linkarr.length;i++){
0 A3 y' X# n) d& q1 \* Hif(links=="") links = linkarr;
4 Q2 O% [/ q, @9 e* ]; Relse links += "|"+linkarr;
7 ?5 y* A& P  l: K5 E}
3 \. i9 R; N2 h9 kfor(i=1;i<textarr.length;i++){
+ R0 o7 F) \( b8 b$ X9 j% X) zif(texts=="") texts = textarr;
( G9 v; w! B4 U7 ^else texts += "|"+textarr; 0 o; _" t1 k* ?  J+ y' _" m* M/ x) B1 a
}
" s& `9 y, m- m5 E" a+ S( b' udocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
4 T; i. r# ]2 B/ O) p9 R  p7 }5 `3 H- ^4 }2 d" v
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" . ?/ |$ r- M" f8 b, {7 i- z. j1 E( v( {

1 i0 w: H4 ]. E* vheight="'+ swf_height +'">');   L8 F( B1 R# W( x6 {
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" 6 }7 C- `0 a) u

! l9 n( ^, z) u/ @, V) evalue="high">'); ! p( _$ p/ J2 s
document.write('<param name="menu" value="false"><param name=wmode value="opaque">'); # k8 }0 }& x! W+ f0 B& G4 M% B; Z# f
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 3 d% [+ L' A7 D/ W. [9 O! K# e
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
& {# t, W% p7 f3 B# m6 S! w: g, E) m/ B4 N1 D' G6 r
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
" O0 ?8 K/ q( A% O& `9 ^# S
% N+ ]/ g' E/ }, X% |: qswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" 3 N9 V4 G6 `* k8 l, h, M8 }, A( n
; Z6 b+ |1 E" w' b
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
8 [$ D" p2 }) c) n# H</script>

0 D! |& G' N0 {; _" T" E  N: C, J$ ]/ K! w9 E9 c
+ w  {+ O! t, p
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
9 u8 H* z% c1 e6 k8 ?. n( {9 p" @
$ w  T" R" O' w* B: e
5 }3 }2 P6 l2 {" ?4 c# x$ p1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} " t! ?) w) z( I: Y3 l* T
<a href="/bbs/viewthread.php?tid=[field:tid /]">
% D9 K9 g! V/ A+ L" ]·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 9 C1 K. Q! Z- ^! {. G
<br/>   X/ S0 j6 B1 F8 z; R+ o1 S
{/dede:loop} 1 t7 {( B* }" T3 q" }" B
这个连接地址你可以写相对路径,也可以写绝对路径。 ) Y4 Z8 |2 n# K- S" n
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]   y; h4 H6 y0 S( L) H( V
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
$ w  X3 E, I- }! }" U. s2、论坛指定版块帖子调用方法:
. Z9 [+ \* Y7 i2 i{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
3 W/ Q# N$ |9 o* q: H<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
& w+ u. c& s8 n6 z$ `6 u. k# |·[field:subject function="cn_substr(' @ me',50)" /] </a> 2 p' M9 z2 t/ Y
<br/> / @9 A5 l2 ?2 `# v4 C7 q
{ /dede:loop }
: G0 H0 {5 w( T9 h3 v& O其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
8 H5 L: T; j3 U3、论坛调精华主题调用代码如下:
/ J% G, ^, U* ]; _( f3 R4 ^{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} . |# i# l* ^7 D4 F$ O
<a href="/bbs/viewthread.php?tid=[field:tid /]"> # h+ A" @% y0 @& R
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ; x  \6 M0 K: h
<br/>
, ~8 h( D: y* o{/dede:loop}
! s' Z7 F9 c/ r0 @9 Z5 L如果想调用某个板块的精华主题代码如下:
9 ^) E; v+ ~( I5 k5 l{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} : Y, L, W/ X2 H. t; g8 P4 a. p
<a href="/bbs/viewthread.php?tid=[field:tid /]">
+ l/ d3 [/ Z9 |# s. W; [·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, E; J* |3 G4 ~! F<br/> 6 v: b8 l) m% j- e% j1 _# @
{/dede:loop} 3 G8 `  g( h5 D8 a
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, 0 [; c. ~7 a$ I* s" e7 o; ~
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 ( J6 c+ a; D( R- ^* h7 G
4、调用的帖子列表这可以按查看次数排序,代码如下:
# _5 Z( I4 e/ g/ k( _( g{dede:loop table="cdb_threads" sort="views" row="10"}
6 R! K# K+ d" Q: }% B5 ]9 C" [' i<a href="/dz/viewthread.php?tid=[field:tid /]">
2 V  V: K6 G% S" D% @) z6 g·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 p8 m1 A  X. g
<br/> 6 {/ M1 u- a$ l- t4 b
{/dede:loop} 9 |% j3 P7 g: z, d: N1 o
其中sort="views" 就是控制按照查看次数排序的代码 1 i: E# u, r0 B
5、论坛置顶版块帖子调用方法举例:
) [# S4 Y9 l& Y7 r! a/ D/ l{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } , d3 S9 s; l4 ?0 A" e+ f6 d8 Z1 {+ F
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
- \2 z! J# C- o$ o& E0 d·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> - Q- a# I0 H8 y6 x1 l
{ /dede:loop } & `% L# K, s1 k/ {5 x! K
6、论坛版块名称调用方法
' V1 U) `7 |) F9 B! z, N/ H+ n( t{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 2 Z5 [, v5 Q8 v2 G( j0 C% X, S3 W
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
. M9 |" L! g0 l" j  t+ C{ /dede:loop } 0 Q6 D9 b/ J( S3 J% n0 b
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 & ~" w% u: l/ q2 L' l% ~8 u  W
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
& i; }: x& ?  F% G4 V# k; a% K$ ]& r0 E. S/ W

$ Z" j, G  U3 N, v- ~- l
# F# e) d7 b; `3 \' @6 I/ y版块都是放在上面表中的 . `; D, c0 _8 W1 D
表部分结构如下: 6 `7 p+ \1 ?' k6 V/ D

% F* Z; G3 j" _" {
, k5 M  h; _) Y( @/ r # ^7 N/ f1 l' I
这样我们就一目了然了
8 l! c3 r1 _! l/ Q$ x用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: + B" @) i6 C/ u8 W9 M
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} . z. B! S$ S  D& s6 A
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
8 \* D6 t, E" e+ w! d) T4 t$ j{/dede:sql}

5 U' `/ s+ z4 E5 h' a
9 x& J3 I! M; H5 k9 U+ y" C: P4 E, y( D" L3 s
附:dedecms的LOOP 标记规则 & O2 M9 K  _. B3 o
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
" ?. T8 |; x. W% [5 `+ T  适用范围:所有模板 ! P! G% r. Q. @. G* j6 G8 I* R
  基本语法:
/ L2 |3 @- K6 q  { dede:loop table=' sort='' row='' if='' } 1 q' R, f5 N2 J
  [1] table 表示查询的数据表
+ X# _7 p; h1 k  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
5 C0 }9 T& |* w9 N& _* J' l- ^+ x! |  [3] row 返回结果的条数
4 S" F) |6 @" P, m. g  [4] if 查询条件
) |8 o" l( d  a3 u8 G0 Z5 V. }7 l7 P7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
' E, g0 g; q+ I7 `{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`
2 a' i8 U. a+ @+ eON`cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND`displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} 9 X% E( n  A4 t5 b& c
<a href="/bbs/viewthread.php?tid=[field:tid /]">
3 y. p. u, q  m" t4 @+ Q<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> " \/ H+ g; R, H; C
</A> . U% ]( G6 ?2 J
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-8-8 12:24 , Processed in 0.023001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部