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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 & u/ i- {% G! \1 O5 ]8 w
{dede:loop table="cdb_posts" sort="tid" row="3"}
  z9 k1 n/ t( Q: |6 a<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
3 i, l* L  [5 o; Y3 {- Q9 I% N9 ^[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 4 \( ^3 ?: [: M8 N7 q4 R
</li>
0 b2 Y+ r2 Z( m1 _# G( u" L2 G{/dede:loop}
5 A$ k( I  N8 F7 S" n0 O
调用查看次数最多的帖子。 . r9 p% q, x$ G0 [8 ]' O) }" ]
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
' Q9 N$ ^1 q* U! u<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> ; i( u, I. q4 `& ~2 Z
[[field:lastpost function="date('m-d','@me')" /]]
/ Z; z# n  Z* ^</li>
% H" F2 {7 w3 h1 M1 K8 C2 T{/dede:loop}
0 C) o' ]8 C8 C8 I% n2 b, G/ D4 t' E1 b调用回复次数最多的帖子。
. Q0 N. o& Z6 Z* p, Z5 Y{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"}
  P7 ^" c- Y6 n: m- F3 T" e<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> : q- c0 X, F* T3 z, I& X
[[field:lastpost function="date('m-d','@me')" /]]
2 l  T$ Y2 S0 o8 G$ l; R</li> ( L1 n1 S% k9 T" V4 S# a
{/dede:loop} / z; e/ ^. W: ~5 s
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
; {& F: O$ C8 h+ b3 U- p{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"}
+ A! n! T! P" O. J8 g<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> + _0 G. _( r+ o' k4 l, ?
[[field:lastpost function="date('m-d','@me')" /]]   K2 \) L6 w, r. N' y' B" |
</li> 0 b$ b% p/ t( \# v! {
{/dede:loop} / R8 b# \& q2 K* w/ l
调用帖子内容摘要信息
7 ^2 v  r$ x. ^1 y6 w! A$ |+ ?# J* i
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
$ z2 m2 X. w% y, h# E! M$ v$ U1 o9 z, @' r) @
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} ) j6 o$ K1 O- ]3 B1 `
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
- T" h. K$ S' U" B[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
+ k2 b# [0 v( T: `8 u</li>
  [) O+ I9 `$ d" H0 V{/dede:loop} * B% x- c1 ?; ?! A( b$ u9 X5 @
幻灯片调用DZ论坛图片显示
& A/ _; U" ^1 N. S# f1 u4 p3 M7 q<script language='javascript'>
' ?4 B/ w: a6 L. J: tlinkarr = new Array();
2 Q1 c' C, v& _' Epicarr = new Array(); ' q1 |! T4 s& a
textarr = new Array(); 3 B0 O9 ?9 A7 s0 S. f
var swf_width=280; : ?/ R  M2 t' R5 w- x4 u
var swf_height=192;
4 v4 D8 l  E, e4 D2 ^2 Zvar files = "";
* M" Q* M) I6 Y* {var links = ""; % }$ S! c: K4 \6 ~
var texts = ""; 3 C& X, M# O) n( t( Y9 C, C
//这里设置调用标记 9 N9 R& `" O( Q- Y2 \2 ?" {; I( W9 b! @
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
. f8 J8 R9 x9 z$ w3 e( c
+ e( b3 D1 A6 {: N`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
! S1 Q8 ^! i6 j5 h8 E, [3 X0 b4 V$ p. U. X) `
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
. H  y' `/ E  B" x0 j- q) _3 ]: e. ^! A( q  n0 |* |& |& N- |
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
, l1 k( F( J- Bpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; : q0 y4 h6 L4 d( j: u7 e9 i
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; 7 D" H" a& H; v) i3 p
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
! Q$ X) X4 i" {
" k1 D8 b7 p8 A9 Jfor(i=1;i<picarr.length;i++){ ' X! m! n0 b6 s$ Q& s# z3 U
if(files=="") files = picarr; ) }# b) y) s. Y6 O
else files += "|"+picarr; $ n" I8 a/ E$ I
} 9 u# h0 s6 H, _2 u
for(i=1;i<linkarr.length;i++){ 5 _, @) B$ S, u5 l: ?+ n0 S2 i2 q' Z
if(links=="") links = linkarr; ! y, s" E6 n) `8 C- F4 S3 d
else links += "|"+linkarr; , ?, L+ l9 M$ r/ `- J
} # n: I: Q- a( I- K! ?7 d
for(i=1;i<textarr.length;i++){
5 o" m) N  a2 p  W$ `- S" y8 S4 S" q3 Zif(texts=="") texts = textarr;
8 D. g! x9 S5 b" C1 R* ]% Kelse texts += "|"+textarr; ) i) i8 v, C3 l7 ?, W
} ; `" U% E5 s$ g: {
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
8 [+ m% V" D( {4 @" s* X2 I
' y) Y7 K/ e% h. ycodebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
0 z) ?2 g4 e; H4 r: ~; Z7 h( p, G" d/ V# V
height="'+ swf_height +'">'); 6 ]5 I( n- Y) W# X& C
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" ; V' b, x" S" y( _, Q

. k8 s( s9 l- b- S; @8 Pvalue="high">'); $ u9 x" C6 r/ ]. e: \- v& j
document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
' o6 d+ N# V+ m( u  Ydocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
/ `, ]: x4 ?+ I4 F' |9 G3 sdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" * [+ j5 o' H  w

! [5 }# c  v2 Y% r8 Q3 D2 @, LFlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
5 B& I; {# i' i6 f3 Q
1 A0 }0 j$ o3 V8 ^6 j" o& Oswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
7 V  p. x" F6 L) O, n; l1 E9 V
! n3 X  W# \  Y; Jpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');   H2 y. q2 D0 q% {! M
</script>

  Q$ w8 G1 G8 C* Y' t! x4 Z; z, Z' s0 [! D7 m: h$ h
8 @* F: D5 Z7 L: I
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 ; I3 [) X! V" j/ n5 C0 M8 \
' \- D& X# X8 S) h
2 h' V) S7 M+ X5 f: f0 m* e; U; P: z
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
) P  o7 v9 u1 e<a href="/bbs/viewthread.php?tid=[field:tid /]">
) _) K' S- C6 A* X% g·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
6 F- P; ?/ H, k1 I# ?7 r<br/> & N7 d( G2 M5 S  x. d6 ~
{/dede:loop} & v( w& l8 Q9 S: E3 [% ~8 I+ y
这个连接地址你可以写相对路径,也可以写绝对路径。
4 k% i3 A$ }- `; M- s- J& F/ `) U  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
' C# c, s. q6 e# `. j4 v# `  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html
3 q" V& U5 P; S! `2、论坛指定版块帖子调用方法:
  a! Q# }& p+ B- f$ b. }{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } - f4 Y, l9 A) @. {4 f1 G
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
0 a  a2 `2 S' v7 u3 ]0 N8 i7 x·[field:subject function="cn_substr(' @ me',50)" /] </a>
& C: T" y* D: o<br/> ' [5 k5 O: ?- G$ b
{ /dede:loop } 0 K% Z" p, C- [
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
; ^/ x& f$ t- g$ [$ a3、论坛调精华主题调用代码如下: 0 o: o6 ~* n* d
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"} 6 ^) g" C6 Q: R* B: Z
<a href="/bbs/viewthread.php?tid=[field:tid /]">
6 h5 N; \% T/ v6 P& a2 F9 ~·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ( |8 V5 z6 A6 h6 c7 B% _
<br/> , x1 s% b0 Y; {& r, j9 _" F
{/dede:loop} . r- W1 x' H( w# }8 B4 U$ k
如果想调用某个板块的精华主题代码如下:
, X: l8 `3 b  T! Y; P4 x7 _{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 8 r3 i% m' [$ Z3 V0 q
<a href="/bbs/viewthread.php?tid=[field:tid /]"> 6 ?% ~9 i( O) F( t' Y4 [
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> / r% i  ~; J, o6 ]2 r: c2 W
<br/> ; ]5 J* k- u( i8 b3 [5 @. M3 F
{/dede:loop} 2 R0 d/ A1 {1 Z
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, ; u" q" m+ ^0 w4 D0 ~; D
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 # P8 {! Y- |- v; }$ R6 h4 V
4、调用的帖子列表这可以按查看次数排序,代码如下: % v( S0 f4 [; Y& y
{dede:loop table="cdb_threads" sort="views" row="10"}
! W0 z4 X0 v" `- d% p+ u4 Z: r% [<a href="/dz/viewthread.php?tid=[field:tid /]"> , ~! b/ V3 @# o4 h1 ?
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 7 G5 N' `" ~; a, M; Y1 @: H; {0 O
<br/> ' k( ?/ q% J) f" K
{/dede:loop} . m, H5 ]: G7 g/ O
其中sort="views" 就是控制按照查看次数排序的代码
! }( h5 _3 p/ _& v5、论坛置顶版块帖子调用方法举例: " o% |% T1 f/ \6 ~9 Q
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } ) F1 ^- N) I: o
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> ! u5 ~8 A: Q" e+ s" o
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> & w$ e( p& W. |6 [
{ /dede:loop } % A! M: l! a, ~1 L1 E' R
6、论坛版块名称调用方法
7 s$ y, |: Q& Q3 ?; a4 W: ]% S& r{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" } . R( W/ D; }2 r3 k0 p# i7 g% Y
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
, D4 J& Q4 [  A5 ?* w{ /dede:loop } ! n% t# t7 p& F+ p* |- |4 @2 Y$ @4 s
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 & P  r1 ^& c" X% j: m! @4 d' J+ S
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 0 N  i+ a7 M% i* \8 q& ~
% N6 ~0 i) }2 ]1 o4 M( g* X
" ~4 W# F; W0 y% X( l$ w7 J

! k( h& ?  E! i( U版块都是放在上面表中的 7 F  n1 h9 r( d
表部分结构如下:
% b: N( _, ~' j8 B: c4 w# ~0 B- ?/ ]+ S: c
! V/ ~9 y, ]7 M) h5 f
. Z1 M: T; }- ^
这样我们就一目了然了
0 p8 u* H6 M2 [' c) U( M用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: " t$ [* \) H  d  X8 ?; p; f
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} ; k! E, a4 m, O, r
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
. V+ \" s/ h4 H8 X6 C# w{/dede:sql}

5 v0 T0 i! g8 O( S4 ?, k! C
! a% Y3 V" j7 e8 C) W: t  Y% b
9 Q' B: `4 V& u7 t, u* N( U附:dedecms的LOOP 标记规则
& T( M/ H5 m/ J$ [1 C# {  U6 @  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
7 B  P% S& J2 W+ ?3 t- F  适用范围:所有模板
- N. A3 {8 s2 M8 c  基本语法:
% |# Q6 U# t  F% m$ e  { dede:loop table=' sort='' row='' if='' }
3 P3 |2 r! n' n. @: N  [1] table 表示查询的数据表 ( \) O6 \. Z7 n2 R8 _! p  J
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) - g7 H7 ]7 Q: h0 S: V& d( O' ~
  [3] row 返回结果的条数
; Z% \5 I  y+ v  ^# h2 e% q  [4] if 查询条件
' I8 M/ k$ L6 [+ N" ~" c* ^1 R7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
5 i- O$ b1 ^. X' ^{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` ( ]8 A9 d% K# G# }
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 "} : ^7 E7 F6 P$ H$ m# s) Q4 S
<a href="/bbs/viewthread.php?tid=[field:tid /]">   D  I% |9 l% Q, Z! O
<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
5 Q/ B# x; W. S9 m* D& @</A> + L0 G, O  z$ J) ?$ ^$ f
{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2024-5-2 16:03 , Processed in 0.015600 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部