航空论坛_航空翻译_民航英语翻译_飞行翻译

 找回密码
 注册
搜索
查看: 1547|回复: 0
打印 上一主题 下一主题

dedecms调用discuz论坛帖子和图片方法大全 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 0 p5 M. @: A6 c) j1 \0 `  N6 l
{dede:loop table="cdb_posts" sort="tid" row="3"} 5 ^$ i# a9 |" S. T9 H
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
, F+ c6 M0 D) L. `/ y3 [! U" ?[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> ! t7 M& l, x  X) j( h
</li> . s0 B0 S" K" V& V/ _4 M' U
{/dede:loop}
# y9 D. Q# c7 q! T0 S, B% M
调用查看次数最多的帖子。
' a$ D2 U6 V9 L# J0 x3 n8 d# ]{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} 2 I7 I8 U+ e% s- |2 L; N+ U
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 4 b* E" R; M, g' O1 n
[[field:lastpost function="date('m-d','@me')" /]] 8 W- i" r3 C; s. a
</li> % B% K, ~- Z5 X4 q
{/dede:loop}
0 ]/ I* E, f% W% S+ p' V& N调用回复次数最多的帖子。
- X! R. u3 q* ?- }' n# {{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} $ c: r+ k5 g1 H/ a% n" @6 M
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 4 Y5 J$ g* J- [% h
[[field:lastpost function="date('m-d','@me')" /]] 6 Y( e' w  {3 y( X- k. f. X
</li> 4 t& f1 q5 r& [' ~
{/dede:loop} 6 }3 Q4 H; D0 d/ E
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
1 f5 C( ?* V5 `( v{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
/ L) `& b# d9 C1 r<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> : K" e" Z: I- w# }
[[field:lastpost function="date('m-d','@me')" /]]
9 W3 y3 Q: T( g2 u6 ~</li>
3 C% w8 d. {: G* |, u" |# ?{/dede:loop} % J0 `: X& C6 w8 z* M5 M
调用帖子内容摘要信息
, i. i2 q7 {& e  V" N7 P4 Q* t8 h$ g$ K3 M( b; d
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 0 f) M0 t& c( d' |
1 L7 l1 o: U. ~7 `
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ; K# I. z/ M) K4 b) D' K
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ) ~# g5 ?4 H4 J: Q
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
# a$ N$ v. i/ t" [, X</li>
8 p. ^6 U* c) Q7 E+ n{/dede:loop} $ I% o# [- g: i1 T2 W7 P
幻灯片调用DZ论坛图片显示
# h/ q" A* y7 U7 P; u; ^<script language='javascript'>
* [1 p# R; X; g/ [9 G* P( qlinkarr = new Array();
: Y" W& t+ v2 X. @picarr = new Array();
( I4 K9 {# [- m* \; b, atextarr = new Array(); : Y* K9 X% q+ Z
var swf_width=280;
7 X4 P8 t0 M' M" Qvar swf_height=192;
5 ~: y+ z0 R6 a. x9 [) [8 {! avar files = ""; 6 k+ |4 U0 t4 X* P, N( N- ?
var links = "";
% Y% z- Y" P0 K# }, \9 hvar texts = "";
# }( x; p3 ^* ^4 u8 l$ K//这里设置调用标记
6 Y1 p% e$ K& p5 b2 \2 F$ O{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, ( o$ B3 ?1 R) M; g. |" |+ x

2 V7 \% ]4 h$ {2 ~- u`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
: F/ _- g; Z0 Q8 u8 h& g% S) `/ Z- m7 y- \
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
# R2 f8 l+ V; i& a
* P8 j2 u* E/ _' a5 Z( Klinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
! W/ Y# b) q) Zpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
6 B2 U3 F- N; r0 U) Ftextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
' h8 E% o6 X3 }: \& k2 }7 P0 s{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
2 U. ^  Q! A6 n0 L1 P# B. D! A$ b1 X$ r
for(i=1;i<picarr.length;i++){
: z+ t2 q1 Z8 J& |if(files=="") files = picarr; " E* a0 [/ u" c# k' M" k
else files += "|"+picarr;
: ?, F- P8 e& q: \} ) n9 z* e2 M8 T$ S7 c
for(i=1;i<linkarr.length;i++){ ; d& S3 x( {2 Q/ H8 c
if(links=="") links = linkarr; 7 n, U" Y+ q& e2 ~5 B- D- R
else links += "|"+linkarr; - U4 y3 g. M/ c/ T3 k
} # T5 S9 n6 b* D% p$ q
for(i=1;i<textarr.length;i++){
/ X( B' k1 k" t' \9 j  [3 ^) A* _if(texts=="") texts = textarr; : Y: U$ }1 {8 W
else texts += "|"+textarr; 4 N  u; q. \; S7 i
}
" Z% O+ E; |9 h* E9 e7 Sdocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
0 a8 n2 W6 Q* j& h5 O& ?) |4 b) J5 z% G* W: u  j+ }
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" 5 k7 e, p* a& k( |2 O& f2 q" R

7 m4 o( }  \- I9 f. ]height="'+ swf_height +'">');
: i( w) n! H* }. C& Edocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
  y/ S3 s$ C. J; Q
' @9 {8 Z2 W. x9 Dvalue="high">');
; q3 F& S9 b% h7 g$ odocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); - d2 R$ x5 R" E: b2 M
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); - t3 ?' i6 B* e4 l: l
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
9 N2 a+ A& _6 E" @3 c5 J& c0 N# F3 C9 ~( p3 u
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
; z* V1 M: a- h5 H
6 `* O( r* i! D: f3 ~# \& bswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" * t1 {8 T( F  a) {

' i% j2 \' P" A7 Npluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 9 g4 H3 ?) B9 q0 C% J
</script>
9 W6 a4 K4 b% ~$ ?; d3 ?+ S/ g
( a, m# q' V1 l0 l( U  n

# u, M  U; v9 ~" w调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
9 C) |  T/ f8 P' G' H6 E
% `6 b% C' p( h( a( ]6 x
  Q8 H; y/ \) h8 U; ?, J" b1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} , k" R4 I- N# Z4 c: F
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ' c0 p: U* K/ p* c1 F
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ; a* W5 e+ ]7 O$ C: m' w  z9 G" y
<br/> ! Z/ H0 E3 |8 h5 B: J0 b8 l$ v2 j
{/dede:loop}
5 h# ^; I1 X, g6 A0 q- l这个连接地址你可以写相对路径,也可以写绝对路径。 ( _+ }- T; A3 _4 z9 x
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
4 E; Y# p% {& d: z4 i  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html , Q7 @2 W+ {& N
2、论坛指定版块帖子调用方法: 5 F! k& ~# m- _) ^1 \$ c- G
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } - N, r/ a) _: h* i5 ], [. [
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
) I# \- }' ~* L$ J, i4 L1 Y% E·[field:subject function="cn_substr(' @ me',50)" /] </a>
" a  V. w' N$ T. x+ P+ \: ?6 g<br/>   p+ h  J" f! r8 h6 n; l8 n
{ /dede:loop } . L: i: F% }& m
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
$ d) |1 o5 t7 I( G/ T3、论坛调精华主题调用代码如下:
. w' h$ @* R8 L1 S) T6 d{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} . i( f$ h" e1 J
<a href="/bbs/viewthread.php?tid=[field:tid /]">
: w7 w) H% k8 w7 h: M' J·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 {1 T( o8 N" E* n# e! B& H$ A
<br/> : \6 G6 Q8 h. [% _+ }% w
{/dede:loop} 7 n! d, t: i+ f
如果想调用某个板块的精华主题代码如下: 6 U' Q) S  y$ S8 B! _' f
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 9 D" x$ D6 k* B) J0 G: _5 b: z! B
<a href="/bbs/viewthread.php?tid=[field:tid /]">
+ i& z! e$ B9 j. M+ i: y·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
" L5 h9 m3 C. L& {$ l! H5 o. U<br/> 5 y% t0 X2 A5 g
{/dede:loop}
$ d6 @0 d; B; @9 N- c其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
8 Y( w; R2 s! l. D, ^8 k" @7 B  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 ; A4 p$ h; |7 N6 c; r4 v4 T
4、调用的帖子列表这可以按查看次数排序,代码如下:
0 }1 _5 S; v; B' U3 |+ d% |4 F5 @5 y{dede:loop table="cdb_threads" sort="views" row="10"}
# [3 p8 y7 E! v/ S% q1 H<a href="/dz/viewthread.php?tid=[field:tid /]"> ; L' A, T0 x7 W
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
! O2 h: k# x6 ^" t<br/> 9 g' w, W* M; Y+ i; f1 [; _* I: v
{/dede:loop}
* Y% K/ d" |( P% u. p; Y; i8 d* W其中sort="views" 就是控制按照查看次数排序的代码 # T' l. P2 @2 u" [/ N
5、论坛置顶版块帖子调用方法举例:
3 R' H3 o  b$ I9 P# F$ p{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } ) X7 I+ j! f& |
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
: U4 ]0 N$ w! F: X% I·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
; d, ]9 P; t3 S+ D3 ?& Y6 R6 h{ /dede:loop } ' ?: |4 w6 \% b8 @  J
6、论坛版块名称调用方法
/ k" e! J( r3 N' Q+ C3 M{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } / k7 k0 q: M  W' L1 l5 M/ R/ x
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
# b" w3 y1 G9 I8 H{ /dede:loop }
$ _" u/ H* C: b% D7 e注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
* a7 }( j5 S# A9 o: Y. ~但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
* p* y! W* A% L. B& i' U. O# ]* g4 m  r

6 R; L! d, u5 y' l2 k& z. o% J( K" P. P( a  w  A+ W2 j
版块都是放在上面表中的
9 }* c$ f9 d; t! U; i表部分结构如下: 0 G( k# J' g9 c8 y) l. v
: ^9 k  a! Z) w5 j; j& t$ t0 g
2 t% Z1 v5 q2 S6 n& Y5 d5 F
2 E- v7 a, q; w* ]) s$ v
这样我们就一目了然了
) H! L( I+ z, C) N% _) p用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
! L3 p0 m8 u3 H8 X{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
  a# J' P4 g1 ]0 ]<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
' A( E' o% C) @: N* q1 S+ r6 O8 d{/dede:sql}
: `3 g1 ~8 T9 s1 l( L. G( q3 i, L6 @
! P9 t4 ?/ R( x6 ?) P

! @( \! F' L& _7 }. O附:dedecms的LOOP 标记规则
6 {& T/ j* ~6 y5 n+ c  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 : R+ B, ^  e3 b" a- n, s/ `; {" r
  适用范围:所有模板
- U- ]. y/ {; q) y* ^  基本语法:
( f- q, \! J+ r3 ^  { dede:loop table=' sort='' row='' if='' }
) K. g9 Y0 v% ]! `/ h" ?: K3 j  [1] table 表示查询的数据表
( S- ]8 t" j' ]4 J0 c# G% D  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
' _6 Z0 p. v4 Z7 h  [3] row 返回结果的条数
  }( _8 ?! |# w" Q, U# s  [4] if 查询条件
, K" l  B: x& J: `/ `8 d, a7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) / [/ P4 r/ S; @+ Q
{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`
9 N! p6 ]+ b# s( o# K# S  H' K& FON`cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND`displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
" Q3 b# t2 G! V) r1 W+ p# A! |<a href="/bbs/viewthread.php?tid=[field:tid /]"> " B& C( U2 V9 l: I
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> , r" i8 u6 ^- Y# g# s# x- |2 y1 S
</A> ! s1 V: v, S) E, l
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


Archiver|航空论坛 ( 渝ICP备10008336号 )

GMT+8, 2024-9-29 01:19 , Processed in 0.025002 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部