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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息 , H2 x# }5 e/ ^8 w' W2 {' [$ G
{dede:loop table="cdb_posts" sort="tid" row="3"} - r+ ?" V* ?  P
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a> $ Z9 n  F& k# D5 v4 f
[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> / S8 |. u4 @2 o1 [
</li>
0 K6 Y( e( _0 u7 z7 R! h' ]{/dede:loop}

6 f& u$ M) F  F调用查看次数最多的帖子。
- r' c8 R  P" L5 b$ H{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
+ ]8 b" d$ ~3 d! y<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
0 h/ j( F; Z; W7 [[[field:lastpost function="date('m-d','@me')" /]]
; D! N# h6 m& d* H9 \</li> ) g8 e; w+ I' h9 w3 O1 C# T  z$ A) a
{/dede:loop} % D: g. B% ~- |: N0 S+ A
调用回复次数最多的帖子。 5 D. w$ f) C/ N7 m
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} & J3 I1 m% r7 V; L# }/ A5 c
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
/ E2 u" p/ J% M6 }$ |6 E6 q[[field:lastpost function="date('m-d','@me')" /]]
3 y/ a8 G& J9 u) S$ j</li> 2 I1 G- A* \; u
{/dede:loop}
5 N7 G/ n' s( y- P: [调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面   i; W- }0 e: L5 L& n$ S. e* l+ I
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 4 T, P' [2 t0 v. z! h, e1 ^
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> 1 Q: W5 {; i% I, w  D
[[field:lastpost function="date('m-d','@me')" /]]
8 S% P5 J+ Z/ C9 j% C( I3 I. v</li>
! a5 k2 H5 g6 G, `% Q{/dede:loop} 9 J7 p+ ~2 l8 P
调用帖子内容摘要信息
  [/ {! u5 S+ R# i. \; I+ S6 e: K. a7 r6 l
first=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序 . K0 z1 U* L8 Y4 L8 i  M2 P

, a: T0 \, L( V' s! V{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
7 {+ ^. J' ?. |0 s( K<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
8 _' f. V! M8 k) M( d  `5 P[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
# ^/ t) i9 _+ o( [</li>
0 l" K7 t- {0 F1 `  m( B1 [5 ]0 ]{/dede:loop}
& F4 N( z8 {) A) ~% x& b幻灯片调用DZ论坛图片显示
+ Z# k' k* i7 }7 H<script language='javascript'>
) X0 y1 f5 S+ U' zlinkarr = new Array(); 4 I; S% X+ V, [8 y
picarr = new Array();
4 J& v. T7 ^. X. B# m4 ytextarr = new Array();
) z; y! X! V3 W0 s, _var swf_width=280; & i& x6 q) _1 M: i7 \5 K+ s1 \4 w
var swf_height=192;
8 d3 N1 k/ C9 k# M0 R" ]5 ~var files = ""; 6 p' s$ ?/ Y+ P
var links = ""; " p" N5 ]  O1 B; C+ R# A
var texts = ""; 1 ~# ~8 a0 o0 s; }; E2 o  |; o
//这里设置调用标记 2 Y1 `7 W9 R' u( I- i- }% ?
{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, & h2 S; I" I! b+ L( [% G, Z
: T& e! c/ n" {9 w
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
: w; ]8 Z5 g6 x# Y+ w4 G; I# R" j9 x6 }6 Q( X/ }
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} - g1 J4 e+ u% d( `
) o& @' y9 J' d3 z: L7 @1 j
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
: |$ }: w- h) D" w1 |picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]"; 7 Y5 f4 L+ X4 z7 ^
textarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; ) G& n  `8 g( W0 q* L
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
3 |0 G3 ~( s8 g( V1 \4 W; o: z5 @6 v, L9 A, X6 k
for(i=1;i<picarr.length;i++){   ~1 ]! U; C: D$ B3 H1 N8 q4 S1 g
if(files=="") files = picarr;
+ N( A, N* G2 r  t6 Q) H0 f8 Qelse files += "|"+picarr; , v) [, y) _+ A5 [6 f) a
}
9 S" U$ h1 f7 N& K. tfor(i=1;i<linkarr.length;i++){ 1 W% L4 i" o, z
if(links=="") links = linkarr; ( k- k& n  W0 g/ \% ^
else links += "|"+linkarr; % d7 [( l& I+ [. v
} 9 `$ e  w) g" c/ Y9 T  @
for(i=1;i<textarr.length;i++){ 5 Y7 f6 w5 Y& Z$ t
if(texts=="") texts = textarr;
! Y. W6 m: t/ Xelse texts += "|"+textarr;
8 j% i/ P7 n0 z3 a" ?9 n; L} + v; f* q& l+ A2 b6 l3 |9 U
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
. T8 \$ ^2 j  V$ W$ S6 L8 h, s5 }8 ]4 _$ Y+ g
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
1 U; }# c! N2 X1 ]
+ f" d- |$ w) C& N" s/ hheight="'+ swf_height +'">'); 4 H2 y) U% z- W/ {' J' G
document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
! H9 I0 ?' s. i* R3 c" g9 H4 }0 \1 \3 P2 v
value="high">');
9 K* C, j& x; C' Pdocument.write('<param name="menu" value="false"><param name=wmode value="opaque">'); ( K) b& C$ }2 b9 k: H9 P+ g6 y
document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">'); 9 Y  ~0 Q: y' O6 P
document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" ! ?5 y8 r* w- {' l6 u

9 ]% F# S+ s$ w* m" g8 _FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
7 D% m; t4 b# x8 L, U5 w' {
3 [' j1 ~( {, r# N: }3 k1 mswf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash"
, C" e) s& k# y# a6 K
/ |3 N1 C$ f- k/ M7 ?1 x! R/ npluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');   k1 s% u& X) Q. i& ]2 J: T
</script>

7 C8 s8 c( l: _: G2 p( E
( \! ]; p- E3 D1 a& d* b  D
$ M0 i% V% H: G9 R, C调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据
* l% s$ F9 n. S8 M7 c/ ~# F
" g9 `3 W, o. j! E  l. E' y, Z
9 d7 I$ e) k# |1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"} 6 h5 R: K8 j; c* a
<a href="/bbs/viewthread.php?tid=[field:tid /]"> . Z: L1 W8 |% R1 T" e
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 6 W+ x' g0 C" [3 p
<br/>
& U" |& i0 ~) F( @{/dede:loop} . T: f- s  v# @$ |( m" [$ N: {
这个连接地址你可以写相对路径,也可以写绝对路径。
4 B" K( s  @( g/ O0 U  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]   E2 V) e# R& p/ i
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html 1 f9 J3 [( ?$ [! j
2、论坛指定版块帖子调用方法:
' Z8 g2 _# A( n6 j{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
1 ~, J+ I5 m9 g2 c! E4 Y- R2 r<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 6 [: T( W9 ~7 r4 W% J- O, o
·[field:subject function="cn_substr(' @ me',50)" /] </a> , @$ S& {# b: O4 M$ K
<br/>
7 p$ v& Y% L8 l0 b* |! Q{ /dede:loop } 1 L) E( Q4 r8 d, g* W& `: |
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x
& `$ M" ]0 A* D  K) z( K3、论坛调精华主题调用代码如下:
! d6 Z# B' ]) h{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
9 w( Z/ h9 i7 z# {) i' z. L7 j! }<a href="/bbs/viewthread.php?tid=[field:tid /]"> 6 U; @/ i( _  Z8 [9 |  k
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 5 q0 i3 {/ v4 D7 |3 y" k
<br/> & J" k* u5 X$ t" O/ v
{/dede:loop}
) Y- g  i- h+ \% X: O如果想调用某个板块的精华主题代码如下:
' L8 n1 N4 o* U{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"}
6 h6 G6 R5 W7 ?$ E; x% F6 a9 D<a href="/bbs/viewthread.php?tid=[field:tid /]"> ! I5 J$ c, ]2 \4 l% J' x
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 5 ~) _- \. v; X* @3 a- L! J4 T
<br/>
1 B9 ^- v! a* Q$ k" |2 I" x' C{/dede:loop}
% u  }- M8 R8 P其中的fid=5是论坛主题分类id,可以按照自己要求来修改, * ]/ t" R. \  v  r% p  ]1 h
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。 + d6 S4 }! v8 X' u7 A  l6 E- v" d
4、调用的帖子列表这可以按查看次数排序,代码如下:
& A% e( d! w& b4 J{dede:loop table="cdb_threads" sort="views" row="10"} ) G3 \4 d+ A9 o1 a3 Y& Q
<a href="/dz/viewthread.php?tid=[field:tid /]"> ( R8 l1 s3 o5 p1 p$ I- N" p
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> ) p- x9 ?* Z$ M0 {
<br/>
% H0 l' w" A; z' [$ p! ?{/dede:loop} & N: q2 U, N, F" I3 X: l$ d
其中sort="views" 就是控制按照查看次数排序的代码 2 W% a% c6 [% B7 l
5、论坛置顶版块帖子调用方法举例: 6 E1 f: c' G$ l
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" }
2 e/ U4 \  |5 {5 D: m<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> 9 c5 S# b( N" Y7 A) V4 |
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br>
+ t0 h- C9 k! y: y% f2 a6 {8 C{ /dede:loop }
! d$ E- S3 x+ b3 E6、论坛版块名称调用方法
9 N) ~! q" [" \{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }   i. D5 L9 d7 Z# {" {
<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>
0 p8 r% f+ j5 c9 A! c# K{ /dede:loop } 0 y9 \1 d, w6 S
注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
3 X9 J2 J# S* w3 e% |# O! ]4 g2 w但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
9 u; v6 L% x+ X1 _2 \8 r( Q; i% V1 ~" G4 H
$ l3 h4 n2 }' }* x% F5 X" r
) s4 ]+ t9 ]6 W1 N+ X1 s# I
版块都是放在上面表中的
. m3 Y: v1 f  F  x7 r3 |% q7 b表部分结构如下: 5 J) c( i$ a( e1 e% V
+ u1 [, M  H6 T5 S. S
0 o1 l9 j  I4 A7 t& U$ c% O
& b% [1 }# e2 Z  Z9 [/ d% i( t% k
这样我们就一目了然了
' Q# O# t6 K% s用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
. ~6 m5 y3 G/ q% I$ o3 m{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} - u: }2 l: J+ c3 V; a( C% W. M" s
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
, f& e5 U+ `/ {7 Z{/dede:sql}
/ p% j4 n, j& w9 q) {6 c3 i

" G$ K+ e7 M: k7 L8 g8 Q7 Y8 r
6 T1 {* E# G9 S# w$ `附:dedecms的LOOP 标记规则 # f* h! @( q; B, |' e; Z
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 " [  |8 [; ?) U. _$ q
  适用范围:所有模板
  \2 k2 e0 w  {3 a: J) e  基本语法: 1 o/ U0 g% T  q0 j
  { dede:loop table=' sort='' row='' if='' }
; u" D! J. W( s, o) N- P  [1] table 表示查询的数据表 5 u* L, ~& U& V) P0 `8 x# s5 c) v* h+ }
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列) - o7 B  a9 ?2 T: s/ W6 R; _
  [3] row 返回结果的条数
! M" q' e% {' A' ?  _: n  [4] if 查询条件
! |# z0 v5 c6 Q' M4 L3 m: a7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
% D/ `4 o* M, R" V3 Z{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` 6 b+ L7 B) e& l# C- `# O( v; s2 V. y
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 \% ?+ z. e# f/ `; x  Z<a href="/bbs/viewthread.php?tid=[field:tid /]">
3 P) c* K0 l8 {<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> 8 ~; h3 O5 k% J7 e/ q, t
</A>
8 C- v6 b, r0 B) a  s/ Y{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-8-8 14:44 , Processed in 0.026002 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部