航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
& ]( S1 [8 Y( B& T
{dede:loop table="cdb_posts" sort="tid" row="3"}
! H; s# X6 A; e- o' k Q [& {' A
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
+ I4 A5 d% H- J Q# y
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
+ A6 U# j& C% e) _- _+ K7 J5 Z
</li>
' v- {$ R O( i" p* t; I: z6 a% a
{/dede:loop}
! S7 r3 |& Y' K+ C% e: ^
调用查看次数最多的帖子。
) p! T: Q7 E/ v3 |4 R9 L
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
3 s3 R1 S* r4 u8 g& e
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; Y% d2 [2 i9 a3 H l
[[field:lastpost function="date('m-d','@me')" /]]
3 a- v+ M g' K3 F' E: T
</li>
6 v7 I6 E. o8 P. H `
{/dede:loop}
9 L; @7 n6 Y2 P4 D; W4 D
调用回复次数最多的帖子。
- F# ], J8 L# O3 v% q
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
6 C9 U( V$ `+ K$ }# p# e
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
* K. S& ?3 T q1 W/ p! S
[[field:lastpost function="date('m-d','@me')" /]]
1 D9 t- e: P W' d( |7 o7 y. C+ Z
</li>
* G b: K+ @6 t) g. I
{/dede:loop}
: T- a, ?! k7 t I. [# G6 ~# m
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
! s+ g" f9 h+ Z. h3 R) b
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
) g0 u: ?( a% z2 }4 i) e
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
* _: l- Q: ^* c4 F
[[field:lastpost function="date('m-d','@me')" /]]
" K P# A! K/ @2 M |# w$ K
</li>
6 S$ E& v8 K+ Y# L
{/dede:loop}
. I P2 F0 A- x1 x1 Y0 q; @3 g
调用帖子内容摘要信息
0 Y! A, o" s# l. {; X$ |
1 `& X$ c7 j7 }9 B! M4 a4 ?
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
2 {9 U' h: U5 d4 S. h5 j
% l: p, a3 M8 V6 \
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
9 q$ r( E# w7 h; t( f f
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
) K1 o" W f9 }' Y M* Y
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
- h, }. S2 d; v( d
</li>
" I9 d* Z8 [7 n- c: ]1 k
{/dede:loop}
) p9 ^( n+ c0 V# ]
幻灯片调用DZ论坛图片显示
; e/ {1 t1 Q( ~3 w0 t' q
<script language='javascript'>
8 r; W( c* t2 L( B2 e
linkarr = new Array();
1 }1 v/ W0 E/ j4 @& \- ?0 _" x7 |3 f" S
picarr = new Array();
( U" j; P# i* c& X( G. l
textarr = new Array();
% b2 M+ t) f9 T2 J V0 N
var swf_width=280;
' l7 [$ M9 Y3 R3 w( {! Y
var swf_height=192;
8 U, |- g) j9 {5 u
var files = "";
4 A% S! N* H0 |- I6 ]/ P% V
var links = "";
7 s+ L/ d% h H4 A8 n
var texts = "";
: h1 ~0 |. Z5 j, l' M
//这里设置调用标记
, @- S0 f) H2 i
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
' N$ ]; K E' u$ ` V2 T5 F0 [
7 F0 U q% u( w( h* b5 o* P
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
_' |4 F" z7 S1 S
7 `' w* e! Y" J% r" w9 M
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
0 J( w" e0 a+ ^2 B, E9 [
6 }1 L& O& {8 j2 r/ N% m* \) f0 {
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
( \0 _4 w N* n) {6 K& n6 V6 k w! Z
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
* V. z i: t" `, W
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
9 f/ }' Y2 _' M- T9 U6 C% P
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
) q8 x. J6 l/ U4 J' B
/ M1 f/ T9 O7 _- r# f+ M5 Q
for(i=1;i<picarr.length;i++){
7 P% P; v6 d Q
if(files=="") files = picarr;
( ]/ |0 f. y; b6 O8 z
else files += "|"+picarr;
5 X$ Z% h& X. v# K( K& _
}
$ e0 C" \' A* B u
for(i=1;i<linkarr.length;i++){
8 P! i5 z! g. \! ^# c
if(links=="") links = linkarr;
8 }5 p3 j- q+ e$ l, X, a
else links += "|"+linkarr;
! ^. ?2 P6 I4 \* a$ n3 ~ u. G
}
* i4 {; E% P( G: v' z- m
for(i=1;i<textarr.length;i++){
' i* E; @" `# m+ D! x8 F! \1 V
if(texts=="") texts = textarr;
1 a) Y% ]1 D% [
else texts += "|"+textarr;
* Y4 B/ n% f5 d4 v% D. b
}
/ }% F0 u4 G% f9 O+ ~9 ^6 R: l
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
9 o! d" z6 {$ R2 w7 F, c
8 {* I, q% W& Q; S( H
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
' l3 L0 W. ~1 U: B0 W
' v* x: `4 P+ r4 {6 O, Z* f
height="'+ swf_height +'">');
9 T; @4 n; F# v& k& V, f
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
0 W. p( u0 R* f$ a9 T% w
. r+ E, T2 g* g' v1 I# [& v
value="high">');
8 d* p+ M2 f7 m0 s' ^; x0 |" B
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
* h% s4 z; N- U+ K( f
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
4 e# K" Q( n% w' N# U
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
# }' j! `, h8 N, d& s! F
8 g9 l& }+ V% r$ v) Y: B8 O
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
8 V4 X, C! i+ k7 k7 L( `
5 E. T/ z7 G, {/ k7 v ^& t
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
! @9 c O3 X3 x, j6 x
9 S R/ J' @" j( w9 q/ k) c
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
* s: a7 E- L! h* r, V
</script>
, a! U2 m- t) Y) V5 G3 w0 \5 T4 S
$ V2 q! Q7 \+ [& Z1 I! G
( ]$ m' \0 h5 `5 S+ e. _' [4 L
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
' s) F) ~2 K; |( _; @' E
/ y- e; d5 E" X) R
: Z- O B* M& h7 ]' |5 F
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
$ G5 l; r8 _. Z/ _! {/ ?0 c: {
<a href="/bbs/viewthread.php?tid=[field:tid /]">
1 z8 J4 t( u/ w( `/ \
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
2 n' g* |( ?- ]! @' A3 a. d
<br/>
% V/ E6 r: \8 V: z
{/dede:loop}
6 ?+ @' t+ {' R9 ^: [
这个连接地址你可以写相对路径,也可以写绝对路径。
, y" Q$ n8 N$ P2 T$ X7 {
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
, a* [2 b+ o4 P) _5 _5 i S
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
" S9 C1 l- [& s7 s0 L
2、论坛指定版块帖子调用方法:
: j/ j1 H+ F2 ]6 w& d
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
' z3 a5 l8 t6 A7 K' H! t9 y0 }
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
8 O2 u! n) |. c# ^$ F
·[field:subject function="cn_substr(' @ me',50)" /] </a>
0 r p7 g& A. q& t0 w0 N) ^5 B
<br/>
% C; \1 y6 W7 M( D ]1 V4 O2 a
{ /dede:loop }
7 y) `) r7 q" J& C5 [
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
2 y7 H/ c' n6 g% j; s0 y3 E- \
3、论坛调精华主题调用代码如下:
5 I9 s7 p7 a8 K' R" c$ |
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
& X3 ?4 r, Y; V3 [8 E
<a href="/bbs/viewthread.php?tid=[field:tid /]">
6 ?! a' `# m& f) z4 O
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
) `" h6 n: q, V7 `/ L
<br/>
) w% j6 Q6 o5 U Y% K6 _ t
{/dede:loop}
# d, O/ R# ?2 N: k* L' A
如果想调用某个板块的精华主题代码如下:
$ T- i6 ^# @ i) p- b5 L6 C
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
" _9 u% K7 r- M
<a href="/bbs/viewthread.php?tid=[field:tid /]">
# @7 i3 z: X+ V
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
( t5 n1 M; m0 l: G- g
<br/>
1 ~; j5 m, s# _
{/dede:loop}
. h% i" l1 T' F
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
( T5 V2 Y* h: r8 z2 I& L% c0 u
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
. q5 m8 K2 R4 q. [; f
4、调用的帖子列表这可以按查看次数排序,代码如下:
: R/ K- a7 f; i+ S
{dede:loop table="cdb_threads" sort="views" row="10"}
/ ~; q4 {; X8 _0 \
<a href="/dz/viewthread.php?tid=[field:tid /]">
! y1 V5 Z& t+ x; v8 k) C
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, ?3 s. W1 r1 x& W0 F+ i7 V, g
<br/>
8 E! _1 {5 D# b/ ~
{/dede:loop}
9 [' ]7 f7 h; y& C
其中sort="views" 就是控制按照查看次数排序的代码
: o i: a6 T# ]2 |5 v
5、论坛置顶版块帖子调用方法举例:
- O- `4 ?, i; K2 F/ h
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
! `5 j6 t: F: ]3 A4 E' r& f
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
: O1 w; T. E; }
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
2 V) e2 O% c- j- p
{ /dede:loop }
" x# N9 s9 H: T) _8 G6 ~. I/ @$ {
6、论坛版块名称调用方法
:
: C. F- R" w$ A; K
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
0 z) I. |4 |: m! Z
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
* K; y; r" g. _$ d. M+ P4 j6 i$ E
{ /dede:loop }
0 L+ }; M9 v: f5 ~
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
4 ?& M& U2 p' d$ i7 Z* v
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
+ B+ h+ C5 o. X4 D1 w5 Y
- D" U+ j/ x! y0 |/ v6 ^/ M* l
9 a7 @1 f2 D' n2 K0 @# B2 S
7 U- a% r! L, c6 \9 Z2 U3 U4 T
版块都是放在上面表中的
1 h6 u q8 P c1 l l4 O- f
表部分结构如下:
/ l* W: y& y+ }# `4 z6 ^! R
9 A8 m1 ?" L6 m
( b$ R Q" b4 z/ j6 E9 Q1 P! L
) z& B$ p5 O$ J p# ]% L
这样我们就一目了然了
3 N# z( y, _" V& q: V
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
- N. F: Q# l- t3 K( G7 m2 E
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
1 b. A8 p8 `+ ^ g+ `/ F
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
3 V1 B! U0 h) k! e1 u
{/dede:sql}
, b& G+ N: v+ F ^% `; S
U5 m" U5 ]1 d$ A* H' {+ Q
& H/ d# A3 g3 m) Q& A; x" X) `
附:dedecms的LOOP 标记规则
# H ]) R" Q n! d3 t8 M
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
! O, e5 t1 Z9 j0 [! e
适用范围:所有模板
$ i2 b3 t ?* b) K* o3 X& v
基本语法:
% X6 c. k) L2 c' E
{ dede:loop table=' sort='' row='' if='' }
" m4 E# X3 T* V; x9 q
[1] table 表示查询的数据表
! V, c* a$ {+ a# M4 j* r" t
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
F* ^6 m5 H8 u! R d8 y \. a
[3] row 返回结果的条数
4 A ~# ?! M; h* o( ~. |( I4 Q
[4] if 查询条件
1 r9 ^5 y2 w! G; Q& v
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
3 b. K3 W" t% q+ `$ ^" D
{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`
6 I% z2 P* p. D' U$ T5 |2 {- 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 "}
9 Y5 z% t! m* k% `0 W% [
<a href="/bbs/viewthread.php?tid=[field:tid /]">
1 L' ]' y& S, J3 |: \# c- G
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
5 e& o) u) q7 Z* u) T+ u) J
</A>
4 V; t' A" N+ @- D* b# F
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2