航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
0 k3 P6 `- x& j$ h5 D' b" F0 q
{dede:loop table="cdb_posts" sort="tid" row="3"}
" X" v: ^4 q6 G$ ^0 ~/ t' y
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
+ W$ A8 l% G' @9 U3 h7 s
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
- N$ L: \7 q& i: Y& w* x8 ~
</li>
x% G. ?5 m' ~! i' x
{/dede:loop}
: ?4 b( R$ l' T
调用查看次数最多的帖子。
& z3 Z% A" Y0 e4 A0 u
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
( Y; T1 J; F! V: Z" H9 K: h
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
' ~2 ?' E% \ N2 s4 Z0 {' s- K
[[field:lastpost function="date('m-d','@me')" /]]
! N8 T0 P6 _( m
</li>
( j6 `2 }5 M+ P: S+ A1 m
{/dede:loop}
9 w6 E0 X1 C9 o8 d& |3 s( x
调用回复次数最多的帖子。
8 y- e6 `$ L: A0 A: b8 j6 f
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
/ ^+ |! f9 @0 r9 A! w* I# M5 P( O9 u
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
$ W/ |* Y! ~( _: h4 |* S
[[field:lastpost function="date('m-d','@me')" /]]
) p6 a( o+ t/ \* ~, x) S$ t" m
</li>
3 v3 U! o& f0 q, g" s# k
{/dede:loop}
$ _# J: K* Y- t0 M% @2 c. q! W
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
# w! ~1 a8 y" y& q1 V+ T, E* U
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
& a @% a: [+ c: [! Q! r
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
, z; O ?# ^/ `$ P' w
[[field:lastpost function="date('m-d','@me')" /]]
3 H+ C" Z" ]" i. O6 E2 K9 `1 K/ z S
</li>
' j. h# i' P6 H9 Z; f6 f7 C) b
{/dede:loop}
+ N0 W( F, ~) E4 T( _
调用帖子内容摘要信息
9 O) H( s, `' z6 Q# h1 l
7 Z. U. w/ d% k2 H
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
; D" c3 b3 m4 _- g
L8 V# q. G7 X1 Y" }) H2 ^( Y) {
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
' Q4 t1 A) B9 A; i0 r5 n/ D
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
3 Y# Y8 o l6 `! E e! t
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
$ D4 k& m4 M7 j/ N" i; t8 ]5 o N* n
</li>
, Y. m& V+ O0 g4 t- w
{/dede:loop}
# f% `8 |5 d+ P* a
幻灯片调用DZ论坛图片显示
5 q' [" r" L% l6 i7 ~) @! M1 G5 {& e
<script language='javascript'>
/ o! x' C5 h: j7 B1 x
linkarr = new Array();
7 M6 @# `$ n B3 g
picarr = new Array();
2 y9 T: r l" @
textarr = new Array();
T, M' e! j) P) i( A
var swf_width=280;
# _& F! B+ q* \+ g* M( V- R
var swf_height=192;
) @3 K2 n/ @" O T9 [
var files = "";
5 t5 u: l6 o8 M2 N! v$ h
var links = "";
" w' B4 O# V( l
var texts = "";
5 h2 p0 f3 z; P! \8 b
//这里设置调用标记
$ z" |* p, I/ J5 @
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
8 X+ Q' I4 e6 ?( m4 b8 ?
( K( P/ t2 F0 `$ ^5 j
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
4 n* h* w$ h4 n6 _. v
1 V. J! A# i6 |1 X
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
" \, E( [, @: a& N V
& A& ?- d B! ^* C9 s0 u7 c
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
; a& k0 v: E, |! ~! _
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
8 p6 v0 F3 U8 m/ F
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
! n4 v K3 K; r& @: H; Y2 f
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
- ?$ E' I" j& ?$ m# \+ W
& U, |/ h8 J- F: A0 l0 t' c) N+ W
for(i=1;i<picarr.length;i++){
4 ~' Q2 S/ v/ \7 O) w, Z8 N$ q+ `
if(files=="") files = picarr;
# J# A* F) z0 G: s
else files += "|"+picarr;
" \" m( X7 R, H! E# U
}
$ }* a# `( q+ \
for(i=1;i<linkarr.length;i++){
0 X+ l& y+ F W; J: Z2 }9 ?0 ]
if(links=="") links = linkarr;
- D, Y( O' V( }/ L2 ?9 L- ~
else links += "|"+linkarr;
: |7 U' Y _2 [7 [# C% c' a$ p. m6 Z
}
3 w2 L& z+ ]' n! _+ G# V( E" \
for(i=1;i<textarr.length;i++){
3 r9 ] w, O5 M& d3 n
if(texts=="") texts = textarr;
- `. d* ?0 O5 W. ?+ ~) X, |
else texts += "|"+textarr;
( }$ X0 V; @7 N3 r: L: S6 }9 p
}
8 v5 Z( H% ~2 w
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
K7 T/ A" x2 `# j# N
7 Y! u4 D' L! f
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
- v3 k( t4 P$ \2 j$ ~
0 f* I$ H. l% J% K0 D
height="'+ swf_height +'">');
1 S( E( {7 h/ v9 h& F
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
# m1 {0 ~* h1 \/ N# f4 P u
4 A( F0 w4 e# m
value="high">');
( G# K# y! i3 g* ~- ^5 e
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
2 {& E" Y% e5 G. o7 m" m
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
# D7 X) _8 n6 m; k# L* U
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
' L, p9 }3 h0 U3 n/ n& \% ?8 }; K
- X/ w5 |0 q' H( i) y: g, F% D/ v
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
u. q4 r8 w' z1 Z, X* ^
9 k6 V' r2 A1 S
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
+ R; j7 B0 U4 q2 n8 k4 P1 V; `
7 w( z* v* R/ M% c9 K" s& O& U
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
8 I; e3 e6 H+ w
</script>
0 A1 O; R% t* y" u
4 C! G5 A0 N: W+ m4 _1 v1 d
U0 q- Z9 I7 y, c1 X- N$ R: J
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
" S: b7 h, J/ p# n9 Q1 m+ @8 n
5 Q$ o5 ]: T9 R9 L6 S: C) `$ S
* S( h( i- }0 d0 m, s# Q9 {
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
0 w: q+ m, e- E( \% ]. N. K& x
<a href="/bbs/viewthread.php?tid=[field:tid /]">
2 w2 l6 t- r9 o
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
* e3 u( e3 s7 j5 \6 Y. Z" s/ E
<br/>
0 `5 ], x! V% ]0 C3 o- C
{/dede:loop}
9 C6 w+ J3 b( j
这个连接地址你可以写相对路径,也可以写绝对路径。
6 N7 V* ~0 N# d" M8 T
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
8 z" K, T& v) t% k R$ n
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
& ], Q7 @9 L1 U3 E4 K; f' Y
2、论坛指定版块帖子调用方法:
, q7 b) ^2 {9 |$ q
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
4 @0 K) z6 G* O9 O" {+ Y) o
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
$ _0 B! w$ L( N/ _2 d( x. B( P
·[field:subject function="cn_substr(' @ me',50)" /] </a>
0 L' c' S! b2 T
<br/>
& r+ a% L) V* X9 q" x; j7 h
{ /dede:loop }
: d" g" p* e- D% K* H, A
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
) G% q. Y' e- w
3、论坛调精华主题调用代码如下:
, L9 ?% K& W) M+ t" g
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
) U/ U1 s$ U9 B& ~6 ~7 V
<a href="/bbs/viewthread.php?tid=[field:tid /]">
# `: m8 w; {0 P# k H/ } u/ W
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, w% n9 X- A0 ] W, y
<br/>
+ i: Q) y; j9 l. }
{/dede:loop}
! s5 [2 x# j) O1 N- s' v
如果想调用某个板块的精华主题代码如下:
/ K+ ?7 ~# ~5 y- c. v8 G+ _
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
. B8 U5 D, v- ~- B* C! y+ G
<a href="/bbs/viewthread.php?tid=[field:tid /]">
! @4 H1 E o1 p9 _- }# G
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
8 T t1 Q4 J' y) s% }& {0 e V
<br/>
, @6 v. C4 }/ u1 M1 _
{/dede:loop}
$ t! B6 F' ~- h( p
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
& } A0 j' L% u1 t- }% G5 @
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
- I8 p- ]2 e3 g3 R- {9 U
4、调用的帖子列表这可以按查看次数排序,代码如下:
# G& o$ K6 c5 y% b* D$ L6 `
{dede:loop table="cdb_threads" sort="views" row="10"}
8 y7 t M3 [3 \
<a href="/dz/viewthread.php?tid=[field:tid /]">
1 l, D( u0 w y& m& I1 R4 o
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
7 Z- `; v$ p. j
<br/>
6 n- w4 @7 K4 T: {# n
{/dede:loop}
: `$ z' l) C3 m2 Q0 J' O
其中sort="views" 就是控制按照查看次数排序的代码
, P8 I" c% E$ E% [2 Z- m( s
5、论坛置顶版块帖子调用方法举例:
0 F8 |8 R! H$ `8 N; J; K
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
0 a' z# u6 e4 G. C$ b
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
. R" z2 e7 J: u# E/ l2 E$ I
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
$ ^1 ]7 H3 ?: M$ M5 H4 l; i: X
{ /dede:loop }
1 v5 S; m2 ]5 J. w; g6 S
6、论坛版块名称调用方法
:
+ }. P, J$ T: n- n$ q- v) L7 ?
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
; }- f; T* G8 R6 \
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
( t/ U l) F4 a M m
{ /dede:loop }
: ] B. {" d; t% q2 l
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
2 p' o$ ]/ D' S) v' E7 p+ A& G8 ^- p
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
! Q6 `. }1 K7 r$ @/ _: _
! P g( S9 X' z" |1 ]. R; K: ]
7 K9 p% s/ U, b1 @# V& S3 b; D
; e* n r$ p# S+ @2 D$ w
版块都是放在上面表中的
+ o7 r9 h, |/ f( \
表部分结构如下:
' F1 W0 o+ b& G4 U4 f
/ v' @# A9 B* A/ |8 j$ q
) k1 t* e. |/ ?- |
& t* o& T" v# j
这样我们就一目了然了
" q! m, j y: ~4 W5 t. P/ g9 `
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
! {# b- Z7 I3 i, k6 V
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
. l7 z5 t* B# n4 d' Z6 G0 i9 i
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
M Y1 H! @2 K0 ^' {9 L
{/dede:sql}
: P! Q5 u m; C5 [4 a( i$ K( Z. @
5 {' G( i0 P. \) w, b- z& T
5 o9 b; }8 t+ |% F! p7 e1 s% l& R2 c
附:dedecms的LOOP 标记规则
$ _) r4 N% ]2 y9 ~: Y& F; i
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
j% p" b* Q. R2 u3 s, h! l9 z
适用范围:所有模板
) w# C% k3 v. Y& i( |
基本语法:
( Z1 `+ E. e, v+ m1 d
{ dede:loop table=' sort='' row='' if='' }
; ^5 x: F4 R6 W7 |
[1] table 表示查询的数据表
1 F% c5 B" |6 p1 U, s8 Y8 O3 q
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
# E) Y; A' y$ U
[3] row 返回结果的条数
- w* ^/ f; Y- D2 _+ R
[4] if 查询条件
+ p$ L2 `( N) G5 |
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
2 Z) I- ^# T) A/ m, [
{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`
1 J6 W2 a" u. D4 H Y
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 "}
) [6 V2 c- P5 ~9 d/ U$ e ?- f
<a href="/bbs/viewthread.php?tid=[field:tid /]">
6 j1 ^# v) A9 R! s7 ^3 M7 n
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
1 K: R5 }" G2 Y5 n9 E, L
</A>
; h2 c$ O2 a1 o0 K
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2