航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
dedecms调用discuz论坛帖子和图片方法大全
[打印本页]
作者:
航空
时间:
2010-8-22 01:05:23
标题:
dedecms调用discuz论坛帖子和图片方法大全
调用帖子内容摘要信息
' H" k4 V# e7 ^. s% O. T/ V
{dede:loop table="cdb_posts" sort="tid" row="3"}
* x0 a1 y6 \) A# c0 B# k7 X3 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
& L! e% ^& n. I5 X8 J
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
) G# [( P) v! @8 r" C' U/ O
</li>
7 d* f6 m+ o G6 V, ]2 Z
{/dede:loop}
: M* X& X# C1 r& y
调用查看次数最多的帖子。
7 [5 f& @5 Q/ _: |4 M* Z
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
5 C% ]* v# Z, R! t( j$ F: o/ @
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
! u, F( {/ ^. g8 X+ p z
[[field:lastpost function="date('m-d','@me')" /]]
5 I* g2 W; {' c+ d2 H
</li>
2 l' t: S0 R# {! \- N, ^
{/dede:loop}
0 v8 m# l# [. o0 Q" M+ |6 N
调用回复次数最多的帖子。
# B5 C# V- _- B
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
8 N: C4 Y% K. R8 M' E- e* k
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
9 k, a9 @8 t9 s; O s* |
[[field:lastpost function="date('m-d','@me')" /]]
# `1 V3 j/ X- K
</li>
( I. p+ C; {% t: i9 Y. }
{/dede:loop}
2 j9 L7 I' x# W2 I
调用精华帖子
帖子分为1级精华2级精华3级精华。精华越高排在最前面
. q _3 y2 n9 D/ N- L" P
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
# L' A( j0 D% D- S
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
0 y7 k/ E, h. L* d& f7 ?. y
[[field:lastpost function="date('m-d','@me')" /]]
E5 ^) d" {& |; X
</li>
1 t* e2 {* F8 @6 x$ z& |8 c- c5 B
{/dede:loop}
. j8 t/ r. k; Y8 J: j. ~3 X3 v
调用帖子内容摘要信息
( o, A. L4 \9 e! V4 U
$ X; U5 w8 ~# m' [7 @5 P' Y9 j- X
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
! d4 N! `6 v. w+ {
0 x2 ^7 M9 I: Y/ k1 [4 t
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
V: v8 ]# }1 l0 f
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; Z8 _: S* N& T2 d$ Z/ e% U
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
( ?) \6 ^' y2 p" b
</li>
( z/ a; ^0 Z( u$ _( D9 D2 z" Y
{/dede:loop}
+ {6 \9 I+ s; s* a' }! S
幻灯片调用DZ论坛图片显示
5 P8 U6 ?' I0 J/ f) ~0 F& X
<script language='javascript'>
6 _1 b+ O1 x1 a; ] g5 _
linkarr = new Array();
+ F9 L, ]& F W) |% ^# B
picarr = new Array();
' E; r6 r3 N4 ^* C( V
textarr = new Array();
' o9 U( u! e( K5 Z$ d5 h" |( X
var swf_width=280;
! k$ x# a6 j% y$ x# z# M; ]* i# X' Q
var swf_height=192;
$ P0 [! }3 O% U) {0 s
var files = "";
* r. [1 m9 a! g% i/ k2 g K
var links = "";
% {2 o) e1 Z: ]; ^
var texts = "";
% V r* ?# S; t9 @' I# l6 }% B$ J
//这里设置调用标记
! ]1 B: D) N" G6 x( S
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
1 I6 t$ O& v9 e7 o4 z
+ W3 A2 Z- x6 J( s! C1 }
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
( [. ]/ a# x, I L: [2 T
) @" c- j4 D H S( V; `, e: X
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0'
AND `filetype`='image/pjpeg'
GROUP BY tid LIMIT 0,1 "}
$ w! _3 ]2 |. x M
' }1 U& v/ f, ^
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
) S- W: c' ]0 R1 k
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
) c1 P" A% Z1 ]" K5 O) U7 f7 q
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
- W. ~( o- \6 J9 p% |. ?* j
{/dede:sql}
//原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
4 a9 o0 d8 i5 U6 U/ r
$ {4 V9 A! @) Q" [
for(i=1;i<picarr.length;i++){
, {5 H5 S; ]& J: O
if(files=="") files = picarr;
: _2 q T, p. J! P$ }0 i u
else files += "|"+picarr;
) L% a: R# b6 d2 [# A/ j! F
}
% \# n# F$ x0 L5 {7 ~9 P- B: J
for(i=1;i<linkarr.length;i++){
# u* |3 U0 n7 V2 ]) A
if(links=="") links = linkarr;
' @: n* ?" C8 P/ B1 _" j
else links += "|"+linkarr;
5 ]0 [9 r! [ i& {/ e% g9 r/ w) y
}
/ p! Q$ U5 q$ {* S+ X* `( n
for(i=1;i<textarr.length;i++){
: T; o, {, h j! u
if(texts=="") texts = textarr;
; a% |$ _+ |' K1 R: d# ]+ T
else texts += "|"+textarr;
6 l3 V% @4 {# ~3 q* s9 a
}
5 j4 x& a8 [- h! H$ G! A: S1 a! U5 q
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
' q0 s4 X- v+ }) Y1 G
) ^3 H7 e. D' p N0 u7 }7 H
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
/ \5 V Z( j5 S" }* P$ h
) L4 J6 ?2 r' c7 j
height="'+ swf_height +'">');
' L+ B( F2 Q/ Y8 u+ o, }0 X
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
' c8 L, F0 d) M1 v( r/ O3 k
2 p. u$ | ]/ i5 Z& T- e. Z7 w
value="high">');
2 t; b% b& L) h1 G! u! y8 n
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
& _, l: W h3 G0 v
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
; ] Z# _7 o" I! ~* i
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
; r; \: v, a* a2 \- R
) F! H1 o Y6 ^: z- _: \! e
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
: }5 ^# [% [- \
- v* r! k% r( @: _
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
- A7 Y4 e) O k1 s* q5 N" V
( }% N6 C) W3 `! Q A
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
- m* a# v; u0 X
</script>
; x/ H5 R" `% W9 m
: `% K8 i1 w/ B) j
, S( I; w6 e9 `) q! K
调用Dz论坛图片,特定板块。
AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
" ~/ U( v$ B0 A7 N( T5 d/ n
0 C+ u, z w2 k( G% S$ W$ H
# u2 @# S* ]1 x$ E
1、论坛最新主题调用代码如下:
{dede:loop table="cdb_threads" sort="tid" row="10"}
7 c7 K( H @+ t4 i1 I/ m
<a href="/bbs/viewthread.php?tid=[field:tid /]">
1 ` `0 N2 [* B" Z) j% I2 f1 u
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
6 r: f+ S5 d9 }, a7 f
<br/>
7 R# r. k$ D( n* I- M
{/dede:loop}
5 e9 ?* f" O7 O( P u
这个连接地址你可以写相对路径,也可以写绝对路径。
: `) M+ c8 Y/ F& n" B1 M- x ^' E% S
如果是discuz动态论坛,链接地址如[url=]
http://bbs.xxx.com/viewthread.php?tid=
[/url][field:tid /]
% l1 I ?/ g" O( G# j
如果是discuz静态论坛,连接地址如[url=]
http://bbs.xxx.com/thread-
[/url][field:tid /]-1-1.html
2 Q+ Y( Z& o% I! ?
2、论坛指定版块帖子调用方法:
' X' y% Y) f/ w
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
4 ]% u4 `! T/ E0 g1 Y
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
+ W' ?! g- S; E* d6 @5 `
·[field:subject function="cn_substr(' @ me',50)" /] </a>
% L/ m( @. g" a: E1 K) h
<br/>
* E, K$ }3 S5 z& V/ c) j
{ /dede:loop }
+ W- D; ^1 `2 V% o) w
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
! Z9 i5 V/ s( \& F/ L6 K
3、论坛调精华主题调用代码如下:
?: U/ d5 \5 G/ D" b/ b/ x( Z# z
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
. P1 N7 \! I) _/ F
<a href="/bbs/viewthread.php?tid=[field:tid /]">
4 t# H( v4 C, {. [4 ?" T S
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
I( l! |4 @3 n$ `) H; L- k: s
<br/>
8 f6 T# w# P) X( q
{/dede:loop}
/ }6 _$ _2 B i7 a7 U3 \
如果想调用某个板块的精华主题代码如下:
1 y. V ^# \! N. c( i) [
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
0 y4 {: y, C8 c, ^% N& Z, x
<a href="/bbs/viewthread.php?tid=[field:tid /]">
% m6 ]( T/ C( P# ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 v2 X+ e( ^; ?$ n0 U0 V5 {9 `
<br/>
* L+ a* x2 p" y# {* L, l( s
{/dede:loop}
r4 s* `7 ?/ n- C/ [: c! a
其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
# v: O& x5 q8 I. a% ^
如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
# s( S6 M6 U. G4 I% Q: D8 j
4、调用的帖子列表这可以按查看次数排序,代码如下:
. Z) M0 W* R E' B2 J5 t
{dede:loop table="cdb_threads" sort="views" row="10"}
' U! z, s6 s: F3 z
<a href="/dz/viewthread.php?tid=[field:tid /]">
/ y# B9 A6 R% S! P- v! D5 M
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
# [/ r* `- u# O" B7 H, Y- {
<br/>
& P# y$ e* d0 H. c% ^
{/dede:loop}
" ^8 u; D- i+ u( L. a0 @& n. d* Z
其中sort="views" 就是控制按照查看次数排序的代码
' L0 {8 }+ a& B. O1 P5 ]7 f' m
5、论坛置顶版块帖子调用方法举例:
# w0 ~3 H, q) C. t- \# @) z: J( X
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
i6 q( i- b/ V8 B* g+ Y- W
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
- f8 B" X# H, B) J/ I, H. h
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
( R; y' [) p2 Z0 K& l0 ~+ p, K
{ /dede:loop }
" S$ @1 V+ S9 x$ r5 m- h4 T/ b
6、论坛版块名称调用方法
:
1 R# n6 z( l: G( k: o% x
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
: q4 I6 Y( H) V7 p _) X
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
1 c0 G9 ~+ j9 m1 u/ C" g( K# F" r
{ /dede:loop }
' M3 Q+ G7 u/ A( _6 \7 j- e$ U
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
% L, f! N6 _9 C! L! W! j
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
; G9 F6 S+ M6 V5 g$ X5 W
2 T" n. \3 _* @! _! ~$ }) h
/ J1 L$ N/ X; t
# _' h6 Y, I+ B& `( s. L* D
版块都是放在上面表中的
8 P$ I; R8 r9 {
表部分结构如下:
, ?6 U4 ^; P6 X2 s- _8 d6 _
* T2 ]$ [8 s1 a2 B7 E7 {- \
& a* N% p2 m% V/ L& V( Q
- o* L P5 j& n( r- e- `
这样我们就一目了然了
& U2 s; P+ P O
用sql调用 第一个版块里的子版块 也就是 11111111 , 2222222, 333333333,4444444444四个板块名称;方法如下:
9 h- h! J. q' e- O- a% I
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
4 A' _5 s9 y# p* R& t! }% X2 ?
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]
</a
[/url]
>
U5 V6 r3 j3 m- F$ ~6 G
{/dede:sql}
/ F! ~9 J8 G# S% |! ?
, T; Q7 S4 G9 i0 [4 Z4 m. _5 C, I
, c! F0 j# G7 j
附:dedecms的LOOP 标记规则
2 \0 Q3 I8 J3 h; t
功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
" c1 j: ~. n' j9 y1 i X
适用范围:所有模板
4 h9 E) C# m8 ?
基本语法:
# U5 Q2 e) h7 P% y8 K
{ dede:loop table=' sort='' row='' if='' }
. Z. H, m+ d) K4 w
[1] table 表示查询的数据表
5 G% |# C5 R1 c1 s( \' w
[2] sort 用于排序的字段 也可以加"views"(查看次数排列)
8 F% f. m! ~$ [9 m7 S# d/ E2 s
[3] row 返回结果的条数
3 q/ V7 y/ K8 a/ v; W+ w/ _
[4] if 查询条件
6 U. N* Z# |! Z
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
" T9 D8 w* F) ^" d6 ~2 `
{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`
% O7 t; F" i" X6 M% ~
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 "}
. [. |" m9 K* y9 c
<a href="/bbs/viewthread.php?tid=[field:tid /]">
0 h6 q3 S6 n8 o! ^6 V7 n8 j
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
2 O6 @/ Z& I1 w5 C0 [( a, r! ]
</A>
% _! H, _/ }7 H% X
{/dede:sql}
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2