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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 : o( k9 @1 W( N5 _' o# \
{dede:loop table="cdb_posts" sort="tid" row="3"} 1 Y* ^# w4 |, S/ u# M
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
4 ^3 e7 J3 Y# e5 \2 `[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
$ r- A9 N5 w9 V+ E# Y</li>
; s" b- t/ T; F8 z{/dede:loop}
5 w6 b. p; A2 k: R% P# H5 o  E5 L
调用查看次数最多的帖子。 ; b' \+ J3 `' U8 B0 a
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
: q  n# e3 |, D4 d<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ) r8 u" q* `# v, Q
[[field:lastpost function="date('m-d','@me')" /]]
. @( ^" X% j% S8 e</li> 2 |! R( I8 L" U( h' G0 n- i" L
{/dede:loop}
, o( t% ?  E# Y; Z6 ]! u调用回复次数最多的帖子。 + P$ `/ _: V. ^# t* q* M& }# t
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} " X# m% Z9 @' f* [& U. L' @1 c
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 9 p! q0 b& S* D1 e/ V2 w
[[field:lastpost function="date('m-d','@me')" /]]
5 N- u. v, T4 J; c</li> 5 T, S6 y" Y6 N1 ]) u: D; |* s
{/dede:loop} # ~  Z6 ^  k1 X: i8 l
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 ! P* c, a: l" h" w
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
: s; N& x1 J: k: f# c: Y. Z/ W<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 3 F4 E  N4 _/ v0 ^9 Q$ E2 ]
[[field:lastpost function="date('m-d','@me')" /]] : h( V. X" `- x& Z: U9 ~0 Y
</li> ! ~5 F1 B; ]8 T; E2 {) S5 P) @
{/dede:loop}
( o! ]5 K/ ]" E2 F0 }+ h. N; s调用帖子内容摘要信息
) V6 a, a+ U/ H2 |; b# o/ \: P4 a1 l5 o) S* V* T
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 & X! N+ ^) F$ H8 }3 b6 u! [
( F6 g" Z2 _* x4 v
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ; n. e8 k9 v. j$ E* k* ~
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 3 ?0 X3 T3 y9 p7 i9 s% m" X7 h  e! y
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
/ @5 @2 ~& h+ m9 h/ K2 [</li>
. }& c7 d# w- c* t+ n: S{/dede:loop}
) k) A: Z: t( G* S  A+ T幻灯片调用DZ论坛图片显示
1 I. V6 `" a: x9 U<script language='javascript'> ; G* v8 k2 [) z6 n: Q- N1 i5 e
linkarr = new Array(); 9 ]5 v! Z. }; c
picarr = new Array(); , Y$ y, o2 f7 t) I% V* z
textarr = new Array();
7 h, J: J; A/ J9 k% T8 Ivar swf_width=280;
0 u5 `$ S' A, o3 X6 [var swf_height=192; % G& ^  @6 J0 r0 L
var files = ""; ' y, N6 Z2 K- [' Q
var links = "";
' [- }7 ~" s6 K% L$ f7 Wvar texts = ""; ( j. F! z# b. y' M$ `/ q2 p
//这里设置调用标记 5 N- e# S8 o3 X& i
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 1 v" x& g, c9 G5 |0 A: l7 ?! P
5 j: Q3 L: R" p- m3 t. v8 {
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
5 m- o) p# S: W( _  ~" A5 x4 N. X3 m7 z
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
: O' J) P  c( d4 m3 g0 y; m, l
! k% o% V: u; e( Olinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 8 N  f# @4 e6 c1 W6 [* y
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
5 {# _0 p. X: F+ Etextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
1 M% L, l: l( v+ j- h9 {" {{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
6 P2 o9 M% Y/ q) ?. C4 m% y
+ O6 t( ^: x8 qfor(i=1;i<picarr.length;i++){
- F2 E0 V* E% E% f3 Z! zif(files=="") files = picarr;
3 ?( x3 y( E; Y0 g/ Melse files += "|"+picarr;
( E- d4 E5 e& p4 O9 B}
: I$ t" j; f: B5 ^6 a* T7 Rfor(i=1;i<linkarr.length;i++){ $ w' k0 J. |3 x: J/ p
if(links=="") links = linkarr;
# L# Z, T- ~0 C* H4 N. Ielse links += "|"+linkarr;
3 ]" j' l1 @& I0 K. U; J. d. L, X} ) b" o4 P4 F) e- t0 d9 M& A; r
for(i=1;i<textarr.length;i++){ $ p6 R. E2 l. {0 L6 ~6 ]) _
if(texts=="") texts = textarr; 8 W- E6 n% m- A) A4 b, V- h5 a
else texts += "|"+textarr; 6 X% ?: d! O. K1 I5 V6 l
}
! a9 G. |2 B% v6 L& _5 j' L9 O6 k) L$ adocument.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" $ C' i$ y, b8 C+ a4 I' h! O7 j

  y: h/ y* f  {$ Hcodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
0 |) @( X$ z0 |) M! P& @- D$ |3 U" o6 Y/ }
height="'+ swf_height +'">');
; E- c% u, D" M# @document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
& X5 d& i1 R8 K7 ?7 p  a: q* Y- J
: ~5 s/ x: P% {( O9 Cvalue="high">');
& F' A! i+ g2 |document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
; x; }' F. m) P/ Jdocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); # b% ^" h) C) O7 h# w
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" ' e+ u! i, W  ~+ U
" c; F% r* X- U* N. o1 l* ^% U
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
& w8 u: [( q; j$ N2 i! k& ~4 k- j8 r7 v& j- M' P8 T' I
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
( L% _! F8 W, W7 A4 j4 R
3 x5 H, k1 O% v0 x4 K7 [( X# Xpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
" J2 I1 E! J) S: M8 A1 J6 ^$ V7 Q</script>

( r: ?  e  }* L! S+ n7 w* z% m, Z1 A2 ~# J2 p' U8 t6 J% j

4 ?& k% t0 e+ y- D调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
6 c7 O% v$ z0 N9 N6 W/ ^. E4 J, D+ C# B# ]# ?3 a

8 J2 o5 O% }) b) Y1 J2 f1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} / l  Y, }$ A# j% |7 }( {
<a href="/bbs/viewthread.php?tid=[field:tid /]"> - i( c7 t& F% \' v4 J7 ]; W# E
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
9 M! j. r- a+ S7 N, B; K<br/>
- n0 w* \' F7 N- C/ u3 Q# E{/dede:loop}
+ x3 P! v8 T$ d& w) \4 r这个连接地址你可以写相对路径,也可以写绝对路径。 3 W/ J2 s# H8 ^7 n" Y8 I8 u: I
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
; z4 o% `( z# Y+ U+ C% n& e: o  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
& ?5 M2 ~9 X  A5 u* x2、论坛指定版块帖子调用方法: # u+ s! C; U! J6 J9 E4 D# q; x0 T+ p
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } ' K" M' P4 ?3 c
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ( p; }6 X8 K* l# X
·[field:subject function="cn_substr(' @ me',50)" /] </a> ) e. ?8 V: q' \7 Z9 w
<br/>
8 a1 J8 ~8 U/ W3 a0 `2 X{ /dede:loop }   {. A1 [" O/ _% e- i
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x $ k5 Y* V; S9 [1 ]/ a% s
3、论坛调精华主题调用代码如下: * ~' n. i/ R  P' J, D/ `+ u2 g, `
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} ( \$ l0 b6 u/ P0 W9 {5 t
<a href="/bbs/viewthread.php?tid=[field:tid /]"> / C) L7 k5 R4 p
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
0 D8 r( J0 Y. _& c$ l% f2 G<br/> 4 ]5 e# b2 J* p1 E5 w8 j
{/dede:loop} 1 i( Y2 @$ Y& n5 Y* p# i, Z
如果想调用某个板块的精华主题代码如下:
" L% n# D) b+ A4 i{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 1 W2 U' D- Z1 k" J8 K  |  l. X
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ; j% W. [; E" N
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 4 a( O$ j+ W) l# X4 I8 s3 ~
<br/> 1 U+ Z: w# X; p; ]/ p+ V0 c9 o' b
{/dede:loop} # n# {+ b% b( x, N
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, % k( G4 V# E3 x! C* r: ~# B/ S
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
; s/ U3 `8 H8 g+ g" ]; }4、调用的帖子列表这可以按查看次数排序,代码如下: % l0 ?# Y. M+ ], h* l3 y1 G: X* n
{dede:loop table="cdb_threads" sort="views" row="10"} 1 E) x( |1 q( |1 z0 r4 X+ F6 Q4 x
<a href="/dz/viewthread.php?tid=[field:tid /]"> 4 h% e& S& j% H: k# J7 ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
7 @) E6 H( V5 r6 Y0 G5 W<br/> $ d8 |! b; [6 b" @* J
{/dede:loop}
! O* c3 S( D0 m9 T) A其中sort="views" 就是控制按照查看次数排序的代码 " |7 g7 T: I. M
5、论坛置顶版块帖子调用方法举例: - P8 f" q" J6 d  \, p! H
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
! j2 Y. t: |5 [<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 1 H! S4 g* \- A6 g
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> ' a+ j  Q0 J3 u/ L) ]: }4 Y
{ /dede:loop }
4 f5 {' Y7 Q" W+ C: U6、论坛版块名称调用方法, F: e) x' Y4 S$ r  t& A
{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } 6 Z$ w# k5 n' T
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
0 g+ D1 y) {4 H! j/ j{ /dede:loop } 0 y  A9 U/ m/ a6 [" x) [( @( j
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 ; d2 b1 [" F9 ]) Q5 G4 X  I
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
' [( F' g2 z: m7 Q) L
. P% ~5 Y+ }* T' G* t0 F$ V+ Q% T2 h+ D3 N
8 J% F& t5 d; `; e
版块都是放在上面表中的
9 ?) l2 U/ k3 q* [* ^- P# ~! t表部分结构如下:
" Z% {- n" a& B
, K- L; ^  _% w5 p0 S
; `) ^$ f5 [3 f( S 5 e6 S# C; U% a6 w& @
这样我们就一目了然了 1 w/ u' I# q/ q$ Y, ~7 ]4 z* i% a
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
% N1 d: N$ M) e* y/ q& l{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} 2 e4 }2 W& ?/ V+ U: c* G
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> . t8 C% b% Z" F7 \- C
{/dede:sql}

$ ?( h  E: H5 {1 K  e' d
% j3 }# h# U/ P' d8 [2 d" E# |& J
0 u' T0 o+ P5 A  ~) i* j  v' ]- U附:dedecms的LOOP 标记规则 6 E! _+ m, j/ ~8 P. S
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 $ y( o2 `* F  Q: Z- W4 t3 ?
  适用范围:所有模板 / Y7 M' L$ V  A: q
  基本语法: 2 V6 U2 V2 b' k+ u7 h* d
  { dede:loop table=' sort='' row='' if='' } # C7 o+ ~* Z$ ?0 L6 m/ C
  [1] table 表示查询的数据表
& f: F3 e& Z+ Q7 [  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) + f. m5 o" l) j3 I3 `
  [3] row 返回结果的条数 " v: ]7 z2 v; i, X8 |! l( z/ O
  [4] if 查询条件 4 j) j) z' y2 P+ h- Z
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) 5 G# O6 ^: @. R9 `$ S/ @- S
{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`
( O# _5 i. c% a  A# P) I: UON`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 K& t  A# f/ Z<a href="/bbs/viewthread.php?tid=[field:tid /]"> . e/ H7 V8 V3 z6 u
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
. K0 w* {$ _- m' I4 |9 z$ k2 e& Y</A>
: ]2 U  Q! ^, \{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-11-25 00:42 , Processed in 0.026002 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部