航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
4 B2 M& t$ c0 g+ b, {/ v) M. V
{dede:loop table="cdb_posts" sort="tid" row="3"}
) O* K: ^% G1 R$ ~
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
$ s" `: G" P a" r
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
2 X4 \! V+ Q* G+ v3 `
</li>
3 F% E; A) c1 _* \
{/dede:loop}
* `0 m. q, q. i" a4 X" E
调用查看次数最多的帖子。
9 B z! ? _4 ]2 f) H1 J) v3 l: `
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
( E9 S4 O, m1 d4 m9 ^1 |
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
4 h! a% G6 {: |* Q+ r" b
[[field:lastpost function="date('m-d','@me')" /]]
9 l( S+ g+ T" s, T
</li>
8 e* }0 \+ y* W- z. V: ` O9 ?& F$ o
{/dede:loop}
( o+ h7 d7 _% N! J% [
调用回复次数最多的帖子。
1 R1 w/ S/ L- p) Q2 G
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
^0 ?( }# r. Y2 R
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 V9 r; X0 G& Y6 n- |6 _% I; S
[[field:lastpost function="date('m-d','@me')" /]]
6 W6 ~; F7 {/ S& E+ A5 |) k
</li>
+ N; R+ U& k) b+ u9 |4 V- B
{/dede:loop}
& A0 k8 a5 p2 S; i
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
9 @- c; X G8 ~; ?& }, D) X9 m5 \6 X5 O
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
" c7 @/ Z' |$ \) q8 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
6 B2 c4 U( a# N$ t0 U/ Y4 Q& H
[[field:lastpost function="date('m-d','@me')" /]]
* k8 n' m. w; N' l' a
</li>
3 y% N& T0 r# r7 j
{/dede:loop}
6 L" t- m+ ~1 Z: s$ M% P
调用帖子内容摘要信息
# B; x: M/ g2 I! a
A0 m- c3 t# x3 G; L
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
) B9 m7 W# [+ @ ]1 S1 N: q2 H
- Z( w9 O- C/ u+ p! s/ N
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
7 Y8 S& o( C9 T" g
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
3 {. Z0 @) R# S8 f+ m7 j8 Y: \
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
3 h+ K( S4 a. J* F
</li>
+ ~7 A0 o" n5 B2 Z" |) T5 P
{/dede:loop}
4 S! Q/ }9 Y9 x
幻灯片调用DZ论坛图片显示
+ `* F6 }3 T, ~3 A
<script language='javascript'>
* [8 }$ S" F4 [: f
linkarr = new Array();
* u% n* ^4 a5 @3 ^1 u
picarr = new Array();
/ @- t2 {4 k% E
textarr = new Array();
) `9 q7 w5 x/ X$ _
var swf_width=280;
0 X, N( S9 q% G* {, @
var swf_height=192;
5 M- ?1 H5 v' p. c5 G( l- Q
var files = "";
; Z- h# x0 Y: ?2 w9 y4 @8 [$ k+ D
var links = "";
' ?1 H; M3 w3 P; }
var texts = "";
5 R+ C% ?1 D6 P. Z" M
//这里设置调用标记
6 A9 E% P$ f) V- `% p
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
! c- v% S; ^0 V" E$ e4 Y* X' ~
8 x$ R' F" o& a: q+ Y" D
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
! {2 Y# Z( U; q4 s5 r
6 ?9 u0 [/ E! C% [' @* j
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
+ ~" K! M% [. w4 ^$ ^ A6 b
6 J' G" K S# O8 f2 p% Z0 V
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
3 K- w; q+ c' g C9 y1 b& G* `
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
; J; k7 S7 n5 b0 i# ^7 H
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
3 D4 O6 ^6 r2 u2 @1 W
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
- v6 {$ ^/ u6 `' Q2 W! F
. V. ]# A8 d4 t5 t
for(i=1;i<picarr.length;i++){
! r# V0 D: E$ D% c" Y g! \2 d
if(files=="") files = picarr;
1 Q: Y7 f7 ^+ U& m6 B1 t: D" w
else files += "|"+picarr;
, a$ J' J1 Q2 H6 e: |4 R
}
; {' x* R" W8 y. ? x w
for(i=1;i<linkarr.length;i++){
# v& u8 j# @+ B) Q4 G
if(links=="") links = linkarr;
: h( e/ }: Z" O) c
else links += "|"+linkarr;
r$ I' w5 j$ q. S! s$ }
}
: A+ d; r) q: k2 g; F% V9 O2 V! N7 M
for(i=1;i<textarr.length;i++){
8 g/ E7 h; O9 x0 m) P! p; n; q
if(texts=="") texts = textarr;
( z$ x+ S& z# L7 o
else texts += "|"+textarr;
4 _# t! k: j# A& R- k: I$ Y, `
}
: E! I- B( h: n4 t& v: ?
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
5 p! J' B" R4 e4 q3 y( X: L& C
# g0 J O/ w! q" ^9 N
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
5 w- ^5 Z5 K4 d
9 C/ ~. _' Q6 w+ H& s: O
height="'+ swf_height +'">');
3 K5 ~& y* ^- q
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
! v% Q# d& N0 h/ D
* l7 N( r( Q3 e$ V! ^% ^+ I
value="high">');
9 U! [& ~7 H. d) @
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
# F# x! |2 M' Y; f3 I1 Z: B
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
6 X# \1 _' T8 ?3 f0 ]5 w( H1 d
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
4 B7 h3 p; i; C: D6 b1 d! z4 O
+ M- q% U& _# _! \* l9 C
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
H% r9 `7 `3 I |. y1 Z: e
x/ v+ b1 J4 i
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
. j& Y" j1 N) B( A) r2 J7 y
9 ~! a: u, O4 H* R7 C ~) b9 Y
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
9 B) N0 |+ p$ f) F/ u( i
</script>
$ ]0 V1 [- H+ R0 t% M' u: ?
8 ] q$ P q: f2 h- ^- c- j
0 X7 [& Y8 ?. b- h5 D9 }/ o4 p
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
7 q, ?: I V K0 m
8 m) y4 g3 v- _+ u" f
3 _, e& u. o. Q1 @( m4 ^2 U1 t
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
% F5 H" |0 i' [9 Y% e% ^# M5 Z" `9 d
<a href="/bbs/viewthread.php?tid=[field:tid /]">
) E6 |2 K( y7 Q( m. l$ s- h
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
/ X% q9 z3 d7 {& t
<br/>
& ^' V- B# M; X. J- U& J9 o
{/dede:loop}
; t+ ]$ I% `& e+ O( Z+ L
这个连接地址你可以写相对路径,也可以写绝对路径。
/ `. Y% n* s7 a
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
" U4 ^2 @4 s6 r U
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
) l" G, r( v6 K5 F
2、论坛指定版块帖子调用方法:
, c! z* Q8 j" h$ l
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
; X, @* ^3 \" K/ s$ J. ]
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
# r' r+ H* |0 n
·[field:subject function="cn_substr(' @ me',50)" /] </a>
5 t1 P6 `& X' T% t# L" f/ l
<br/>
9 g' l7 i* y+ [. v5 e9 d r
{ /dede:loop }
% J2 K% E7 r4 c( X5 D
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
" M, V4 p( d. I; A1 G# C# g
3、论坛调精华主题调用代码如下:
( `( U3 e& u6 y4 O
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
# h( D. M. K$ Y2 j- J; Q* ^( g! s( V) B
<a href="/bbs/viewthread.php?tid=[field:tid /]">
. x( O- B9 g$ k& B
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
; ^0 I& h- L/ M8 y0 c3 A
<br/>
9 V9 g) e3 t9 Y4 G0 h
{/dede:loop}
) @6 g5 i" c9 w( T
如果想调用某个板块的精华主题代码如下:
, t) B& m0 _: I2 `$ `9 P9 Q
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
* z5 {! K" `# z3 C C
<a href="/bbs/viewthread.php?tid=[field:tid /]">
* s8 b: P# L9 V8 Z! ^& h
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
* R8 h3 C( A; ^4 w) @4 n
<br/>
& B+ m) Y9 q3 E+ Z: l) F* |
{/dede:loop}
; v }5 m9 J# g; F
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
; t$ M; q/ m* P2 H/ E6 B
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
4 \9 \( I$ X5 V4 P& j
4、调用的帖子列表这可以按查看次数排序,代码如下:
* X" M7 V, ]! t5 |) n4 M
{dede:loop table="cdb_threads" sort="views" row="10"}
, d& r" m4 Y7 p
<a href="/dz/viewthread.php?tid=[field:tid /]">
' T: Q9 l* u1 Z p1 F/ Q
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
+ r. y6 h7 d B; m
<br/>
" x; H* g: p( C8 {% J; R! l
{/dede:loop}
5 H& w/ x; B ^* E
其中sort="views" 就是控制按照查看次数排序的代码
- p/ `8 G' U$ W' [* M5 h
5、论坛置顶版块帖子调用方法举例:
! ?. @( ^ }* S! ]. F
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
( _. ]5 ]: t% M" }
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
9 u7 B {5 Q) i2 [
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
/ `& b, B$ g% f
{ /dede:loop }
6 H! ^5 K' ]$ L; [; Y3 P
6、论坛版块名称调用方法
:
. Z4 a7 X- U$ V) r8 K
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
$ {8 p- c7 c# e
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
7 l; P% U+ @1 G' e
{ /dede:loop }
: u- u0 R8 x5 j; o
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
d' A5 ^. {( G t8 ?0 e, \7 G
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
/ t4 u+ p* z ?9 m* g! z
7 Z8 J# e$ w2 D' y( I
' @% Y; m# B# @" k
$ N$ y% ~8 S7 a
版块都是放在上面表中的
3 I" T- L3 ?& L( i
表部分结构如下:
/ E. g( O) s, J
$ d: A; d+ n/ \9 b; ]1 f0 |
: Y" g/ b" g) t6 c( o
4 q& }+ Z' c! z2 f. g# K* t
这样我们就一目了然了
6 v8 `) u, e# E( b, I) p
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
1 d$ \( z) f5 V' v" K
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
2 R0 t0 M! v' j0 {' R3 u8 g2 p" `
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
# c/ o0 ]0 m8 d$ a; Q/ c
{/dede:sql}
+ d! w0 x8 N% M& t/ q
* R# G. ?0 s9 u9 U5 B
3 S# j7 N, }" H
附:dedecms的LOOP 标记规则
: A6 |# I6 L5 `# A* M3 N
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
! V" Y1 l3 v+ Y! V6 b
适用范围:所有模板
: k# s! J& B# a6 C
基本语法:
9 ?* {" q3 Y) Q+ }
{ dede:loop table=' sort='' row='' if='' }
# a" ]6 e4 H3 w
[1] table 表示查询的数据表
$ L% d+ x7 n% V
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
" ?8 A/ x1 s. @( _: S" U: j0 `: u
[3] row 返回结果的条数
9 u! v1 B0 [) M9 N- S
[4] if 查询条件
6 F' n# n* J9 S8 _4 ]0 i
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
, D: ?5 B! y, Q% d4 F- C! `
{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`
" M& i2 x. C( }+ e. f* 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 "}
7 D% `! K* o8 i* M C; O1 f& O# M
<a href="/bbs/viewthread.php?tid=[field:tid /]">
: _2 ^: z) B# }. D
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
$ r3 i8 o9 x' W0 Y8 V' S) B
</A>
. E9 y, R, B# D
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2