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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
0 |! P/ \; U5 ^8 `+ i{dede:loop table="cdb_posts" sort="tid" row="3"} 8 n+ M% d7 w1 [" u. K) [0 Q: V- ~
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
" A1 g$ u% F7 I3 h+ t% b[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 1 ^( n, P% ?" O0 h6 w. i
</li> % H+ `. r9 ]& o, L
{/dede:loop}
1 W7 x8 E' G& N$ l$ p9 {; ?
调用查看次数最多的帖子。 0 |$ G% T2 J, m1 P8 E
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"} + q2 k4 S7 g' H& j
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> $ x3 p( T$ r7 J0 e6 f3 u
[[field:lastpost function="date('m-d','@me')" /]] 7 a2 v4 H, L3 \5 f" c
</li> ) l/ S( B3 B7 F
{/dede:loop} - c6 m# Z% }1 g, Z! t6 |
调用回复次数最多的帖子。 0 k5 v6 C( e* G! Q& ^8 A
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} 0 F- w4 p2 p) j  n( A
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
& F3 f, ~" z* v% a( v& h( y[[field:lastpost function="date('m-d','@me')" /]] ) [" b" s5 t, e% ~$ W; `/ {
</li>
# o6 s! N: R& C  R{/dede:loop} $ \6 D" C0 `0 e% v9 r
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面 9 b+ ?6 z0 Q+ o8 x. B/ p% F- M
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
4 r" d/ ^' K! i+ o  @* e" h<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
6 Y" A! k+ N' i: ?* G- Q4 W! _2 I[[field:lastpost function="date('m-d','@me')" /]] ' H# b# G9 i1 [; k5 P* L7 h
</li> $ Z  U% l, ~' q" i
{/dede:loop}
- r* V. s% _& J7 U, `& S  }调用帖子内容摘要信息
/ T) `" N% {9 G7 P5 U1 H2 `
) Q1 R3 q8 c7 i/ c( o+ q% cfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 # p0 g9 ]( p7 W$ H
  R6 H9 v$ I  X1 V9 Y
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ; ^! \  `7 m: L  Y
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
; [( D3 C5 [- |/ U[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
' f6 e1 _. B; M. Y& Q- V</li>
- V8 [: `% ~' j  _{/dede:loop} & |0 H. N  m  ~2 M) v  V6 a2 P+ J
幻灯片调用DZ论坛图片显示
7 g" B7 `  f( Q5 u: b) H7 w<script language='javascript'> ( m& L' h) e, W' F, d$ }% h( _+ \
linkarr = new Array();
& U/ [/ x# F0 Q# H  z+ K  I9 ?picarr = new Array();
+ X4 L) H7 y2 S, d' [9 p' }  itextarr = new Array(); 6 p; d, r, _, u' n5 r8 |
var swf_width=280;
0 P* s$ P5 |6 s: B* C6 s9 }- d0 Zvar swf_height=192; 9 F4 n) a9 `0 [
var files = ""; / {8 y( E) F* }& z% s
var links = ""; , A* l$ j; {) _
var texts = "";
! l4 a' {$ N( g% V) o5 ?//这里设置调用标记 . ^! k$ s( h+ ]# d1 g( F# \4 g. x
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, 9 W+ I& @2 G! u/ ?, H
. N/ V# [: a1 q! r/ N
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
0 s* h- \' I3 T6 D  h# W% I: i
; [9 d  n& B  F# Q) |`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
6 Z# y8 v' q$ W3 V- Z2 o
9 m6 k( X" r0 R- I" D" Clinkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 4 ~- n! J$ z3 k" A2 e/ q
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
  W1 _3 o6 P! f* ftextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
- _: i1 p9 @1 g( ?2 I{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 0 x1 |; `- y1 Z' N$ K
" W+ D9 E) M( ^4 y4 ^3 i
for(i=1;i<picarr.length;i++){
1 `( G5 u' b, Y4 ~. Z: oif(files=="") files = picarr; , [& D  o" F" K( |- ^) u2 j  w6 P
else files += "|"+picarr; , I- ^7 y: _( Q& h1 A4 o
} # D1 J) Y" @; i
for(i=1;i<linkarr.length;i++){
0 b- e/ a1 R: m) J" _; yif(links=="") links = linkarr;
+ b8 ?$ C/ h$ ?4 eelse links += "|"+linkarr; + j3 `& p& M& H( b& O
}
) Z# N- O/ n( {( [) |9 i5 T  Sfor(i=1;i<textarr.length;i++){   O- U" Q! B$ R# T" j
if(texts=="") texts = textarr;
# M& J2 c9 }7 _, V/ Selse texts += "|"+textarr;
3 R' `6 x5 x7 X" h! O& T! U} ) Q5 H5 j( y3 e  z% c
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 4 j/ Z" o! ~1 ?3 K$ `7 E& ?
$ E+ ?! A! ^5 W. Y
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
6 t% E9 S* W$ y+ R& B. B& ]6 y$ y! h4 X; _7 {0 o6 M
height="'+ swf_height +'">');
6 I" J% n! q  xdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" - B, [, s  L# E/ t) d6 H
* O- L8 a3 a; v' z
value="high">'); 0 K% d) A# _" _# s  R
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
5 T9 T. e2 C. t# e* I5 ?) m* Y( Ndocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 2 P$ N; a3 S: L' J* c3 k+ {
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 9 A9 ?9 x" Y0 a& z; r+ S
+ D0 O8 B( P7 Q0 D% ]
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
+ \1 ^1 W8 q! R/ M
! f1 V  i7 m8 O! Iswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
9 ~: _6 Y" R. i: N% g/ v
* r# G1 b  `2 ]6 @# v! C: dpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
  I7 a% o+ P, J8 |/ Y</script>

2 C, Z" Z6 |; K4 w' {. U, \' k- l  k/ I' E  l7 A

% ]5 f4 Z0 l7 g4 w; g调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 9 J4 F: Q( ]) A0 h) Q
+ w& z3 l: W" M

$ _* p0 U5 r2 i) y1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
6 m" x3 b- `  q0 r<a href="/bbs/viewthread.php?tid=[field:tid /]"> 5 L' f2 p1 [* J& A; @
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
+ c0 ~0 Y8 a8 Y6 _* {0 U- \8 j3 @" ~<br/>
0 i/ U) z7 V; B7 w- t2 b/ G{/dede:loop}
) {$ Q$ z" q$ T% ]这个连接地址你可以写相对路径,也可以写绝对路径。
& ^, h+ v( t; p% y1 v2 t  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
1 L# X; D! f6 z4 Z+ ^6 S  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html * y% Y/ p! }6 P$ d7 m2 _/ n
2、论坛指定版块帖子调用方法: - w, L% x  U( m3 `+ C  l; X
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } , k+ Z& W% R4 C, m2 Z
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ! D: T! G) G0 }
·[field:subject function="cn_substr(' @ me',50)" /] </a>
3 R) B  d9 v- W<br/>
; `/ R4 K, r+ P" |3 q8 S{ /dede:loop } + o, t- o" F" J7 p; Q
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x 6 A  o  v. f# C1 G
3、论坛调精华主题调用代码如下: : U, Z" b" f6 S  z" K( N
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
, h9 c% f+ k- [7 d2 Y, n5 z" g<a href="/bbs/viewthread.php?tid=[field:tid /]">
# y6 a; n% Z4 I·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 6 @/ I: a2 Z, H/ w% Q
<br/>
. e" T7 A; Y5 S" y! v1 _: V1 P{/dede:loop}
3 X! U3 z! l4 t# ]& e" ~  A9 ?如果想调用某个板块的精华主题代码如下: 9 A$ @' ^. V" ?; _% W- M! o( I
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
8 q8 }4 T, y2 Z2 ]! w<a href="/bbs/viewthread.php?tid=[field:tid /]"> ' O1 n  `0 A+ ^% g& B/ n( o. t- Z
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 8 c7 f. ~' e7 }7 {
<br/> # v* _' o  s7 T% Y1 U4 n
{/dede:loop} - w5 B( j) O( J# ?5 q. K+ M
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, , u; J: ~- ]/ x' D- }5 [, H2 |& w
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
8 S, s; C2 D; W+ c+ C6 o& R3 }- r4、调用的帖子列表这可以按查看次数排序,代码如下: " ~7 E' e  \0 w" t* C
{dede:loop table="cdb_threads" sort="views" row="10"}
2 z# |5 V, c  z2 t% E3 b& ~<a href="/dz/viewthread.php?tid=[field:tid /]">
2 _% t, H4 l4 F·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> - H2 o% C, X, ]  ~! a1 p! B2 |
<br/>
0 [( d4 g4 j% }% s- {: p0 @; X  B, @{/dede:loop}
3 d! T1 |8 j3 |. j1 e$ Q' [1 }, S其中sort="views" 就是控制按照查看次数排序的代码
- s& k- y8 K9 L5、论坛置顶版块帖子调用方法举例: $ E8 T, U& h# x! P, e* R! C& n
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } ( h! V) Q+ h+ `; q  X
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
+ B/ V2 J4 J; Y+ e·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> ' W/ j& {6 s/ m$ ^0 K
{ /dede:loop } 7 g- c) W/ i# i. S9 H5 K
6、论坛版块名称调用方法
$ k4 I. ?1 u. p8 h$ h) s* j6 u{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
' B& x# |# G& Q  }2 R<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
; ~: ]2 G" }. k4 H{ /dede:loop }
/ j0 J# T: v3 a! f: Y6 q9 ]" h  F注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
; z! {4 z. Z+ L5 ]: V但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 , o, x5 K3 C0 H% c
3 a$ U9 `$ X- E+ {" P1 R! g/ [

8 I4 }4 k/ |6 L: c0 y+ Y* h( C& c! Z! R
版块都是放在上面表中的 2 ~! u+ a$ v7 ~4 C- {
表部分结构如下: . @' X/ D6 ~: r: L  y6 w# k
0 {+ @# D0 v, v9 V+ H$ x

; s; I( H) A. D9 {" C 2 i7 G) {- m  G3 Z
这样我们就一目了然了 + z* U- [6 i$ N9 C* V
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: , G, k6 C8 \! J9 F! Y* p
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
/ B& c7 `  d) E<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
: r- O1 j0 T% |: C4 w3 ?  Q' e3 U{/dede:sql}

: o# ]8 {! e( s( Y- B9 E
# }* T! V: Y- J+ q- H
* _5 E- q' D3 {5 z6 b- r附:dedecms的LOOP 标记规则
5 ?5 I1 U1 }6 g. z8 [5 y- d- {  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
4 y; g4 H1 e  g0 A0 p' B  适用范围:所有模板
* p/ c7 X$ g* Y+ n  基本语法:
3 n9 [2 {4 s* z+ A) e, g+ y  { dede:loop table=' sort='' row='' if='' }
- {) i3 m1 S  S/ {  [1] table 表示查询的数据表 ( M" _2 e' Z9 O
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
5 H! e& l/ o, L& N  a  [3] row 返回结果的条数
: G) h7 k! C* Y7 ^  [4] if 查询条件 & b+ R! Y' v/ I; F+ _3 J; E) z
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) . j0 h1 Y; C* w- o
{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` - }4 j  H6 \5 e8 Q0 q+ s" e: h
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 "}
3 |: n7 m# a" j8 D7 v<a href="/bbs/viewthread.php?tid=[field:tid /]"> * T0 }8 i3 b) p+ \1 |
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
( A6 ^. ^& Q. c" v; Y% M</A>
' `7 v9 H# M" Z# A) e  ]! P{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-5-25 04:41 , Processed in 0.031200 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部