航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
" L4 R; c. g+ ]3 c5 Z
{dede:loop table="cdb_posts" sort="tid" row="3"}
# _" H- x4 O b( u* P
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
; V6 o R1 U" j* Z4 N7 R& o
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
6 i; e; E* \$ C% s& B
</li>
$ [$ N- C- N* Z, E' a8 z; H: j2 z, w/ ]
{/dede:loop}
' R F- ~! j# O! j
调用查看次数最多的帖子。
5 N/ X4 i- f f$ G7 X+ B
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
; F* X O$ H2 O' W- P
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
! P$ ]* G; b, g' T0 @5 N& _
[[field:lastpost function="date('m-d','@me')" /]]
# Q( e" @- w; d6 h% W" Q* G8 B
</li>
' P; k6 R3 \( c# p7 u6 A+ T
{/dede:loop}
7 _7 g% L/ i" t* @6 K
调用回复次数最多的帖子。
, V/ B \, ^- l
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
5 {& A! L+ g, f& d6 }
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 I. Z6 {4 X. a
[[field:lastpost function="date('m-d','@me')" /]]
$ K) n1 w5 ]+ O- M
</li>
4 f% P7 k X' U7 u. T- L9 T( a
{/dede:loop}
) E5 h$ |4 L) B: C3 j& k0 L
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
# F2 ]! ^+ J1 ~" @2 }& x1 \
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
9 K' Q3 _' a- W+ V
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
; L \9 U/ R6 E' m1 N
[[field:lastpost function="date('m-d','@me')" /]]
: ^0 h) S+ x R: K
</li>
$ _, h4 G% m6 o. R
{/dede:loop}
1 S6 L9 J+ v+ h! d+ h8 f! m
调用帖子内容摘要信息
+ |) A6 m- v4 v7 I, J, ]% c3 S! V6 O
6 l$ ]# [* a+ M8 Z3 s5 y
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
% D& d: ^3 `# h l
( v% p; b1 x4 f/ q+ i
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
1 b+ F) Q3 T# o+ K
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 g: @; I2 w9 L) ?7 {4 C
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
$ v$ n& r) K; q) Z) x. q n
</li>
( m6 d* Q0 V+ g2 B
{/dede:loop}
9 P1 f/ w# N1 k- m v- i* y& B
幻灯片调用DZ论坛图片显示
' E; [% H c5 L8 v/ s5 c& N
<script language='javascript'>
2 e/ P) }5 J) p! O/ Q9 X& D
linkarr = new Array();
* a4 ? e0 \4 ^
picarr = new Array();
9 O. q6 G1 x& ~' ^: u* x
textarr = new Array();
$ ^, `& @0 L9 ]' Y
var swf_width=280;
( i" U$ t8 ?! |- G$ {6 q
var swf_height=192;
* r5 A6 I2 W) {
var files = "";
, L W8 u' I( `$ Y2 T8 D( D) y* P% G
var links = "";
5 c1 M1 Y$ k- v# l$ O
var texts = "";
0 g3 @+ ?- H& n z3 ~
//这里设置调用标记
6 [# R7 i$ K4 o$ b" @
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
8 C1 y6 s' A# m) [. R" E8 n
& e& j/ B v: B
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
( K9 o6 N d5 q6 ~" e& {$ k) O+ }
a: T2 l! m5 C& v% }- O: e
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
^! x( P$ @+ u V6 l! W
6 W$ O0 G6 A0 k
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
$ Y; T* Y$ l4 R5 h- W; I/ B5 ?/ Z
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
- A" o. U$ a2 d/ t$ o% t) [5 @2 ]2 m
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
" z( r4 @9 R. [4 C% b. ^
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
. g, L" l1 P- i% \! \
+ _& I; d* W5 P G! [$ y* e
for(i=1;i<picarr.length;i++){
2 b, l* X) P% s ?1 H/ j5 Y
if(files=="") files = picarr;
+ `0 g. X: C" Z9 o5 P6 T) M4 U! y6 Q- ]
else files += "|"+picarr;
6 d5 Y& V4 ^. [8 d' `+ o1 F5 e
}
. N3 ^- R: N) f" X( K
for(i=1;i<linkarr.length;i++){
9 T- z' _& s3 B* |
if(links=="") links = linkarr;
1 ?3 R- }6 j3 m: h2 J
else links += "|"+linkarr;
* y5 Q" e, X$ O7 {$ A4 s9 `
}
4 \4 F6 J+ I5 f# S- u& n- x
for(i=1;i<textarr.length;i++){
1 _$ r- [/ d- W6 c B
if(texts=="") texts = textarr;
. U" c0 Y3 g) _& w+ O9 l2 g* h
else texts += "|"+textarr;
$ Q; W) }3 @# x$ j, n
}
5 F. r. I6 v, d7 l# R6 d
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
: H1 | C% t8 P6 Y2 P ]
* |8 e$ C# q3 x$ K8 y
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
: N& \% |9 W! R3 h6 q
# s9 c1 _3 c: `! f( p
height="'+ swf_height +'">');
1 O) d5 c8 m; |) T( b9 X3 g
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
, S) a) z& m; r' _
0 D. w; p5 a( w0 r' H! `
value="high">');
) B8 q- B6 m' i
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
! c% g: x; c5 ?: V {( j
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
4 y% d( s( e! r a# e# I
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
4 z6 F. q9 Q1 S F- b% s8 H/ P
# U" k: _. _' Y
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
6 m! w/ x! N0 _# q1 I! H- f+ j& k% R
9 e; @' o4 r! W6 ?, y
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
+ Y: B. y3 ]: G$ V6 M
9 {3 B7 {% B0 l" m
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
! b0 ]; p! X( [ w5 P! z) l
</script>
8 e9 }3 G& Y: G! R5 ?6 q2 |
' r, `& Q$ q) L+ h# a& I
+ q+ K2 l1 w( G6 W
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
3 f A: V3 Y' ~$ c; ` o9 ]" \
9 q5 I4 z; [6 `, ~1 G
2 `3 P6 C' V# B" `, B V' g) L, X9 x
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
' O! m" }4 X. G6 e6 S
<a href="/bbs/viewthread.php?tid=[field:tid /]">
4 B- ?! j5 c% W" P" ?" R( \1 w: m" ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
8 G! D, p: \; w! I+ l. g+ F: n
<br/>
: w7 m: ^; a+ {5 a
{/dede:loop}
; D; X0 j! H' S, A" U1 n; q
这个连接地址你可以写相对路径,也可以写绝对路径。
! n8 k: A, u: m0 s0 g
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
) R1 Z9 @" \/ ?
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
0 E: W' S$ ~. s
2、论坛指定版块帖子调用方法:
0 Y! K" I1 ?+ \: @
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
3 N3 r/ ?" B; p& c
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
; L% a' h' @9 ]) o6 }! v: f
·[field:subject function="cn_substr(' @ me',50)" /] </a>
3 ` ~; S% s: B) n! ^ k
<br/>
0 s+ C" f, z$ J! G# ~( }
{ /dede:loop }
& J/ c9 r0 W9 o
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
# T$ t) { Y/ k- Z5 y
3、论坛调精华主题调用代码如下:
! X/ c0 ^, K, W# t3 m2 I! J
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
5 G# F a5 R8 U# U
<a href="/bbs/viewthread.php?tid=[field:tid /]">
+ b6 q% |8 E8 K
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
% l5 r' r! W6 I' z6 E0 c7 W- P
<br/>
. Y u. Z$ e: @! @3 X H
{/dede:loop}
/ A* G& N* h) e) B# v; A
如果想调用某个板块的精华主题代码如下:
+ L& G& e$ n! w' f$ a
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
2 j D6 x t" W/ X3 {& z
<a href="/bbs/viewthread.php?tid=[field:tid /]">
. e; [2 K% q8 q( O3 z0 j) w ]
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
( }7 G" R, |; q+ F; V9 q
<br/>
' D" K: K' y# R: X
{/dede:loop}
; u2 V) J2 m' A6 M
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
* q$ j9 I2 d" w& m
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
! x0 F0 |4 J# |6 n$ ~ K6 e* h" ]. r
4、调用的帖子列表这可以按查看次数排序,代码如下:
/ b, P- r* t: c$ U" ^9 Z4 [. ?
{dede:loop table="cdb_threads" sort="views" row="10"}
# M) N: K9 F; ~1 l
<a href="/dz/viewthread.php?tid=[field:tid /]">
# l- O: |/ K& x; f% @
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
; C8 t$ r/ n8 [' x7 t1 N$ v
<br/>
$ }3 A+ c4 l- ^- ^0 L
{/dede:loop}
5 }$ R( v; ~* D/ B) R% d1 ?
其中sort="views" 就是控制按照查看次数排序的代码
3 A& D! P2 D! s- v3 m. s, ~
5、论坛置顶版块帖子调用方法举例:
, p1 s5 v I) X
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
7 a+ S( G+ X" m/ Y3 H* M
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
* U. b8 z+ S. h! ~6 I O! n( T
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
( n. T6 Y# Q% [
{ /dede:loop }
. A3 {: W6 T& |* ^$ M
6、论坛版块名称调用方法
:
1 Z; B, K) y# H! L/ j' y2 i
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
{' n* u+ i+ v# \
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
, F3 S! ?2 r8 T: X8 e3 x
{ /dede:loop }
+ q. H5 P6 b7 Y; p
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
! L$ Z) i# W' S; D; y$ s
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
6 o! S: D$ c6 R/ f1 N* d: v5 o
& m' ?; K- L- t
4 T; J4 ^' ]+ j, R$ A" U
! {7 S" [0 P+ K. x
版块都是放在上面表中的
- x3 Q, j. Y- P9 ~! v
表部分结构如下:
' C0 w- I# i" z
; L. A5 d, ~- M: ]6 S4 Z. Q! I
' J' g+ j6 {0 ?5 C |+ Q
& j8 _7 z, G, L' L) c& v7 p3 a
这样我们就一目了然了
6 B- Y! ?$ U J( q
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
+ d+ Y$ Z4 i3 {5 ~% S, e& W
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
?2 b8 r4 ?6 P* B
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
0 ^# j, j4 }* l% l* `
{/dede:sql}
! q g0 N% O6 B" L. { c) }+ x8 M
' C' ]8 i% M6 w# w8 _3 c+ S! e' j2 ]1 p
& U8 p; l+ Z6 l7 ^& w
附:dedecms的LOOP 标记规则
1 o. D. e6 y* W- a
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
) Z$ a0 F2 A2 D. ~
适用范围:所有模板
+ g- W# l: L. n' a& v0 b+ L* W
基本语法:
E7 D& h: S) _% }
{ dede:loop table=' sort='' row='' if='' }
u; _+ u+ n7 L* |! }
[1] table 表示查询的数据表
" }1 T# w3 L2 |) B5 V
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
$ z, Z- ^1 l6 g- N, @
[3] row 返回结果的条数
" e9 o/ n5 e; f9 _( [5 Q* E
[4] if 查询条件
# g# m5 [, j$ q& R# G# g9 G
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
, Z' j7 E+ M2 X2 v# V8 a' G
{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`
; g5 P/ h f, o( m7 A: H7 X2 W. e
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 l& u) P2 L. b/ d% Q g, B
<a href="/bbs/viewthread.php?tid=[field:tid /]">
, A- `2 h/ q6 [
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
( E# ^. W6 D& R( ? T8 n
</A>
* q m) j1 U2 X2 m3 J) \
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2