航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
6 b: | p. g: A$ f3 r
{dede:loop table="cdb_posts" sort="tid" row="3"}
. a# c, ]2 O5 X2 A/ M
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
( B& P; A* {# Q- Z" G7 n) q
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
7 h, _$ ?/ ^+ G% V& @0 ~ i
</li>
) i" ]! h5 C5 R4 w3 p
{/dede:loop}
5 v' J8 W1 P0 Q4 E% ]: L
调用查看次数最多的帖子。
% L. a( S9 m/ d8 |1 c
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
r% c1 ?7 u, B& u, A2 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
9 H: ?) _8 g# v! J
[[field:lastpost function="date('m-d','@me')" /]]
4 C& o( a* o7 Y1 Y( \7 x) a
</li>
' ]6 J0 D. n& L( x+ e, I$ J
{/dede:loop}
$ J* B4 V5 ?: R) l; Q1 F
调用回复次数最多的帖子。
/ ~* l& G8 F* w6 V% L3 S: F2 o8 W! m
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
: x0 ]6 J7 ^# ]! J0 _% l1 ?( n
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; {1 h+ w; H4 h$ j7 ]
[[field:lastpost function="date('m-d','@me')" /]]
9 u/ o/ l$ G" o* l! ?! d2 l
</li>
( [& @( s. |2 _1 E. K" `
{/dede:loop}
) p- D0 L8 ?6 P6 A
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
& M" Q1 X6 @' `# c4 g4 l
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
) e9 |0 ]5 J, }
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
1 R4 }( {, R) j) F* }: i0 F) f
[[field:lastpost function="date('m-d','@me')" /]]
2 g4 b& S8 a' s, D! g" w" _
</li>
* G+ D/ @, S/ ^$ w2 Y
{/dede:loop}
% V2 j h3 J7 ^2 C1 V+ j' g
调用帖子内容摘要信息
- p; Y C7 i5 G
' E" T% m' G' k( G% K: q$ r$ R
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
+ d" U( R, }! E5 _! o
7 O' F5 a7 }5 Q/ Y- L
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
% f- g+ a* C0 h" a! G5 h: a
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
! E& Z% f( R/ ]/ e' y
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
) w4 j9 u6 S" }* [, t2 ~
</li>
; ?& i2 d+ q+ ^6 |% Z" s! H: _
{/dede:loop}
% ]- _( d4 G6 s
幻灯片调用DZ论坛图片显示
. ^) S/ c+ u& ^* a3 O" K1 T; N# L
<script language='javascript'>
- E& ?) U+ G6 V0 W/ F d
linkarr = new Array();
: R2 w5 O- K l' S5 q4 q' Q$ C* {9 e f
picarr = new Array();
4 J) y6 L- K7 A F n7 m
textarr = new Array();
4 a# V9 n) q$ x& a" E
var swf_width=280;
7 [7 C+ P6 n+ Y1 H7 V& ]
var swf_height=192;
9 O$ F s0 }8 ~) ^' L/ G# f
var files = "";
# M- B; p) p% J, r
var links = "";
7 B& C& y' c4 a( u' y+ T7 p2 I+ Q
var texts = "";
3 c; k% r, J4 n) g W
//这里设置调用标记
O8 n( C5 u3 w0 M9 M4 g5 }! n0 w( N
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
6 D5 v) u9 O8 {
$ i9 q# k* g; E) j* Z O
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
/ @ X9 |+ e1 u9 a* `. L
# s+ B9 ~: O& {3 q5 C6 s: k
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
4 I* Z$ w. [2 j+ @ o. }# O) S
" R9 _* C: O- G/ j! D) G
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
& a( Z8 c3 O5 d
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
4 x' R! `1 H% v* [# _" f* U' Z
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
* N& U0 v! ~& e% N
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
% \" K& Y; Q, n
# v1 f! a: X' f( m1 b. C! \
for(i=1;i<picarr.length;i++){
) h' f6 |, }, W( g. o5 T2 S
if(files=="") files = picarr;
' M8 j# x# E% V+ W- D
else files += "|"+picarr;
- `* G. X. y% b8 Z" L% B
}
7 B8 F5 l3 N& Y: N1 M
for(i=1;i<linkarr.length;i++){
6 Y! L* N1 f/ i4 p
if(links=="") links = linkarr;
) v2 O m& Q% V! r1 d, d3 ~
else links += "|"+linkarr;
- p; v {6 j- I2 g1 f
}
' r+ |) F, h- I# y
for(i=1;i<textarr.length;i++){
# k7 B4 G/ _* G1 M
if(texts=="") texts = textarr;
9 a" _3 P) w U4 f
else texts += "|"+textarr;
! E1 V9 o' t- M" f
}
0 v2 M4 E) C: b" ?) A
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
$ V7 F* B0 f" c# E) ]3 e$ {
$ N* M0 ]7 Z" T! ~0 f
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
' d8 h: W) ~( _+ c
1 P" O, ]/ {3 K4 a9 r) V: R! I
height="'+ swf_height +'">');
1 Q( |( ?; b8 u! ^1 d
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
+ t, `1 Z9 `! F8 t/ ^, P# G
; X" ?( A1 e' D1 j
value="high">');
9 B# T: N& n6 Y4 T0 z8 ^; @$ D3 E* B
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
1 L7 F, F9 G+ S# S+ r: j
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
' Z3 E* \, [ Q- T" j. |
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
( ^. v4 }* ]5 r1 @7 n; v/ y
2 S6 D& J* z, s- m
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
3 v. `; B' ~+ c. Q O* B
7 L) m7 J) O6 S G5 C( _5 v* v
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
- s: S2 k. r0 z& S! R0 S: j( F
) v, B, \7 }4 B; V% x8 \8 R, r( t
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
: F+ _4 F% \3 r: h/ A
</script>
3 D2 `5 C0 H2 j x
6 P; x% _7 n8 ^
" L& E% x! `/ B! \+ F# ]
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
: q$ W- k; e* v0 c& u# Z6 n
* b0 x K" c- N( |3 h- l( K
3 z% e, ^5 T0 k4 O. W/ T9 Z4 g
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
5 _+ G% n; O, M* h0 y/ M
<a href="/bbs/viewthread.php?tid=[field:tid /]">
/ h* C" J8 P7 U/ o
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
3 d, X, v. t, E3 D4 K- W: @
<br/>
/ {) l4 C- z+ \8 J6 O" q( V
{/dede:loop}
: X9 C- ` Z8 l5 I. F: ]$ a/ Y x4 x
这个连接地址你可以写相对路径,也可以写绝对路径。
8 o* T. X# e+ i4 J4 U
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
5 T. {( }8 t, I2 o7 [
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
) q5 D6 s$ a) z) v
2、论坛指定版块帖子调用方法:
% E6 T1 T1 d+ X, k s% L% U/ w
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
5 }* H- l9 o! u$ m3 e7 e
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
* n& _: o2 ]) T. k) i( P
·[field:subject function="cn_substr(' @ me',50)" /] </a>
. u$ ?. {- y" i, L
<br/>
+ R' t+ I$ r* b4 z/ V! k2 H& U
{ /dede:loop }
# \/ |3 ~0 B0 h1 G
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
% I$ `' T# f' Z9 Y
3、论坛调精华主题调用代码如下:
) w7 M* Y9 B1 F* y: }
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
`" c$ u! ]% w5 n% m
<a href="/bbs/viewthread.php?tid=[field:tid /]">
# U- f5 [0 R v6 _
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
7 Y8 ?, S6 D& U5 S
<br/>
7 R# Q# z( s; w B) N! ], ^
{/dede:loop}
- x; s& _, I+ d) c1 y R: t
如果想调用某个板块的精华主题代码如下:
- n) w' {' {' u5 R$ Z3 j. A$ [3 r# b
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
7 C: I5 N* z$ u- O7 b) W
<a href="/bbs/viewthread.php?tid=[field:tid /]">
2 F: o2 S- F4 t1 n# J q% p# j% Z' g+ b
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 e7 G6 a1 q% q# K
<br/>
' n$ a i1 s- O% j1 p
{/dede:loop}
. A0 ^- D: z5 y! T
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
5 t9 U4 w L6 Z
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
Y$ U ^$ l; P$ h
4、调用的帖子列表这可以按查看次数排序,代码如下:
9 a2 q3 _$ Z! ]9 R3 _3 U6 s: M' Y
{dede:loop table="cdb_threads" sort="views" row="10"}
2 V/ y4 V3 m1 t3 A" ^
<a href="/dz/viewthread.php?tid=[field:tid /]">
4 }) n$ y0 ^) q% r" \
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
! Y( P a! N; U# o' O
<br/>
/ e! ]6 ~$ r0 L
{/dede:loop}
* T* B" A; s, f# V+ I; ^. l
其中sort="views" 就是控制按照查看次数排序的代码
f% {) r0 j" \1 w; d
5、论坛置顶版块帖子调用方法举例:
. _# N5 Q& W4 b. F$ W
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
. Q4 F9 h0 \' L% S6 \6 m
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
0 d/ d! c+ T! M) M
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
7 H. e6 } K# @/ l6 c
{ /dede:loop }
/ m$ f1 [$ o1 p
6、论坛版块名称调用方法
:
% C$ D5 Q I% B1 ^1 i1 J) E
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
8 C M7 |! w# Q
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
$ F% i1 B. C* }- o
{ /dede:loop }
- U, f) y0 B2 l) A8 _0 ^6 Q1 a
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
, k M* e, e7 s# v$ l4 s
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
6 [' d) \( G& E5 F3 W- E- {" s
2 Y. n+ H& C7 i- j& G) T
; F9 N- S* r) h1 P* z+ Y; A" ? o5 ~
. e9 g/ ^4 a; f7 \& z
版块都是放在上面表中的
* H1 ^4 O$ _: d4 t Q
表部分结构如下:
1 g V" Y* `5 d% @& S
! W# k3 S3 r$ X% M: [7 Y b/ I
* K7 F" ?# m i! |& F
% l% o4 n4 T# }/ }* J& n
这样我们就一目了然了
& \( w: O; C4 p$ J2 c4 {- N
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
3 X1 A, f/ r3 p. ]
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
$ B5 ^2 G/ T) g$ {/ u8 P$ V0 @
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
( i+ t d7 p1 }1 J
{/dede:sql}
' X4 p" Y: g5 L( O. r7 l* U+ M' [
/ K& |* o8 Q. t+ Y6 _6 B+ @
- a8 b/ m: }" ?* t
附:dedecms的LOOP 标记规则
; @8 u" _7 O4 {5 F! F; h* B
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
7 N5 I$ z# h7 M1 Q& H+ x8 H5 s
适用范围:所有模板
/ A- ? k z* F2 ~/ j- l1 J
基本语法:
6 _, D l+ z) ]8 R
{ dede:loop table=' sort='' row='' if='' }
, d4 }, q% L, W- U2 f0 _
[1] table 表示查询的数据表
' u. P$ S6 Y& L; g" b
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
5 \8 ]4 y6 d5 n
[3] row 返回结果的条数
- A+ Z. y L2 n9 G+ A; Q; @
[4] if 查询条件
+ a, H8 }8 w/ G- x# w" C) A
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
) s* c3 g, Y6 ^5 Y
{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`
& i* n& g% t9 G+ d% L/ z+ \% o. B- K
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 "}
2 _ Q& A! Z% W" P# B4 r @6 G' G
<a href="/bbs/viewthread.php?tid=[field:tid /]">
/ T, h- h* U( M% @3 N" H2 \$ h
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
* a5 S' [9 H! P; \2 f. l* C: q# u
</A>
: F2 a0 B# D$ S6 Z7 B' n/ K# m7 Y0 H& X2 N
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2