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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
9 u2 t% l6 U  `% |1 |% H6 m3 I{dede:loop table="cdb_posts" sort="tid" row="3"} 4 A& E1 t2 A* N1 a8 e+ q8 c) \
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
( s4 ?8 X( c+ v" X* z3 i- q4 T; H5 R' I[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> 2 D4 x. @. W" C% E
</li>
$ h0 I8 \: a; H2 d2 U3 M{/dede:loop}

5 d% c7 k" v7 \调用查看次数最多的帖子。
; F- Y: I( _1 C1 p' D$ a2 ]& B6 G' ]8 P{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
% y7 ~! h+ Q3 p0 b) I<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
# `) D! v  X% s- O  z9 |9 {[[field:lastpost function="date('m-d','@me')" /]]
: [0 J' o+ ]9 [, g</li> 8 @/ O) T5 ]" n8 Y) f
{/dede:loop}
+ A* X9 P5 z: P调用回复次数最多的帖子。 ) M" p6 R0 H) A8 i
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} : N6 }  s4 S" \0 g
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
# s0 I0 ?% y9 e  _8 g) {1 t7 }) q[[field:lastpost function="date('m-d','@me')" /]]
* _. V( T1 K; }% {: g</li>
. @; f& a: z) d! @( u6 y# A{/dede:loop} ! u. J4 `" S8 z5 Y! h8 Z5 I
调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
7 x- I) B" R. c- I; U9 T{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} 4 i) ?& H/ }6 t' l: ]6 y' j
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a> " _# r; S. O: Y. ?. _; e8 I
[[field:lastpost function="date('m-d','@me')" /]]
& [; n6 C7 _% w</li>
/ f2 j3 t5 z* W/ e0 Y" m{/dede:loop} 9 c7 @1 j/ K0 j5 {# Q8 \
调用帖子内容摘要信息
1 c2 s7 E/ _. B; f( c$ ~, _% u* n
6 }2 H0 A! I3 h4 s4 e6 \& l/ J% K5 cfirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
, ?& {2 j4 I  V( ?1 V) @3 y# z8 H- _* m
{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"} 5 L. G' s( N" _$ [
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 9 ^! e2 l) `7 Z) D
[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a> : m+ [* I! ]* Y- j: h( h! A
</li> ) V4 y8 k, N8 M$ n- r# E/ Y
{/dede:loop} " @2 Z, a& H% W0 P
幻灯片调用DZ论坛图片显示
. B, ]. K4 ?2 T; o6 k# `<script language='javascript'>
" ?6 O" r* W  xlinkarr = new Array(); / r7 {; Y- L2 n6 L. {: v( O
picarr = new Array();
4 F. u* y' l) C2 W, ]  p, ~9 dtextarr = new Array();
+ z' \( u. M( t3 o$ E) _: a# C/ rvar swf_width=280; ) {' D' J) x3 s: I7 [' F/ ~# T7 u
var swf_height=192; ) I5 l0 ]' Q% _2 w1 ]# c2 ^
var files = "";
. y6 O$ ], n  g. ]" Xvar links = "";
, h3 N$ p3 h% ]- f, ivar texts = "";
: u' D* m4 B; h3 u' _//这里设置调用标记
* }7 q2 O! |& {{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`,
! P9 `$ z- H- @0 ^3 T
0 r% k) I$ G! g: Z7 K/ D1 G`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE
3 m3 s5 }* p# Q3 i, W) p
8 @1 n& V- Z2 d; z/ `6 V1 t* }`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "} * _, o+ F8 x; i' J' E* I5 w/ S
* Z" y6 _+ u5 N, y
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]";
! A, a) B  n2 ^/ K9 fpicarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
2 r) h( K( |. ?, Z) b4 |; ?5 Atextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]";
4 E1 i  t7 L% @5 i0 A) @# ~  b& k{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了 ! T, u# ?" a* x+ o9 W% e7 Q
" y6 a+ u% t- [
for(i=1;i<picarr.length;i++){ 5 O( L: P: V0 [: n, H' w
if(files=="") files = picarr;
: N8 Y0 J  p/ g: Oelse files += "|"+picarr; 9 V* h' S$ ]) J, m, I; Z  J
} 8 |9 Z" N# @5 x3 v: t% L8 v
for(i=1;i<linkarr.length;i++){
  |6 i! [3 Y5 ?3 e$ aif(links=="") links = linkarr; * D5 o- q6 j8 s4 A+ N
else links += "|"+linkarr; % G9 U& a9 s+ c/ a+ l- T! a; w3 f8 ?4 E! j
} 0 z3 O/ u3 Z1 [5 v$ T$ i
for(i=1;i<textarr.length;i++){
, i7 `+ m9 E0 Fif(texts=="") texts = textarr;
( l1 m' @% T0 M9 g& r* |else texts += "|"+textarr; ' @# j7 [( H7 G/ x8 C! [
} 4 O8 U, i0 ^$ y- Y
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
2 a( w( V# L. @* l4 @7 Z7 m& b4 ~! E, i- C! D/ m- e
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'"
, n, y  K) y8 ?  Z8 t1 ?) Z: _2 t( D$ M# W
height="'+ swf_height +'">');
2 c% L' t  q0 J! }document.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality" 1 }' w% A1 s0 T% E
+ g! C( C6 {- G* q7 t
value="high">');
& n# q  s  j: i; {& B* z* fdocument.write('<param name="menu" value="false"><param name=wmode value="opaque">');
& V5 M. x) z+ i8 B  z+ Udocument.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
) @7 {. i9 _& L" J3 f1 |document.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque" 6 y/ }  r7 r7 [+ K. \
! S% P2 X4 C0 k# L5 q" \
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+
( Q5 v1 F' I/ c4 q" ?9 J3 S3 o+ D9 ]8 f+ o( l
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" # \5 a1 V  u- C' v+ Z

6 T# ~) B' w* wpluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>'); 2 J+ R5 W, u/ {9 b" c6 _  M
</script>
$ Z) u9 p( s3 G- @
6 j3 J2 v6 V# R2 g& ]3 Y* }
! f3 w) Q( a8 \4 }- V
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 0 P7 \; b: E0 U7 S% [
" y: y& y0 \/ }+ K1 Y2 }

! J0 J4 U* k) r1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
$ W# M! V% J1 E& ]! B0 u  X% q<a href="/bbs/viewthread.php?tid=[field:tid /]">
$ A& v7 I3 f- s1 w  u+ e·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> + Q) ]$ d: t$ K" ?5 u
<br/> / f- a7 z5 e. C+ C8 h
{/dede:loop} 8 A+ v6 Z5 Z) F# a
这个连接地址你可以写相对路径,也可以写绝对路径。 3 ~1 G, U& h: |+ e1 K! d: ?4 W
  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /] - z) E4 a" r4 r7 O" f  f2 L
  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html : q$ l7 M' G+ l2 @
2、论坛指定版块帖子调用方法: 8 G: [! a  s3 `" f! c9 C
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" }
' \5 ]) E( c9 s& ?& n+ x, ^<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank">
+ @. ~$ g) ~( f  [( o% t8 b8 [9 a·[field:subject function="cn_substr(' @ me',50)" /] </a>
, b7 `0 h$ y$ S! _( J<br/> 8 X; Q: H: w# O9 c
{ /dede:loop }
  V' C/ Z- w4 G$ ^其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x - D0 _& W4 F# S: }
3、论坛调精华主题调用代码如下:
7 Q5 i$ P! q: H2 C+ ?9 j3 T{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
/ \, [( }3 K" _5 G<a href="/bbs/viewthread.php?tid=[field:tid /]"> $ X0 I* J' `/ [$ B/ A' J4 g  J
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> . b+ f+ t8 Q. i6 ~- H& |
<br/> 2 J; ^" X, l  Q
{/dede:loop} $ L7 S. D' I( G& _
如果想调用某个板块的精华主题代码如下:
& K" d+ x1 n5 f5 Z( G# W, I9 {{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} 5 Y8 D/ L' W" R* S* C7 u
<a href="/bbs/viewthread.php?tid=[field:tid /]"> ( Q, D/ I, d4 H% c- d
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
, [" F  w+ O- f% ^; s' }/ H* I<br/> - o& u" j) c1 v( i- e1 s
{/dede:loop}
3 e/ I7 _7 N9 s其中的fid=5是论坛主题分类id,可以按照自己要求来修改,
  [  a: _/ J" v  T8 H6 j$ g  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
$ S* j: [: C8 t. o# _4、调用的帖子列表这可以按查看次数排序,代码如下: * N3 j# j6 l+ D$ |
{dede:loop table="cdb_threads" sort="views" row="10"}
! ]  i, g5 U0 e+ I<a href="/dz/viewthread.php?tid=[field:tid /]"> 1 X+ s/ \4 i- V* a
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 4 M, C6 q% y$ I% i, B' w' I
<br/>
: Q" {  i8 g. S- X{/dede:loop}
, H' |  L. \: \$ H其中sort="views" 就是控制按照查看次数排序的代码
$ Y  D/ b7 v4 B$ Y  I5、论坛置顶版块帖子调用方法举例: 0 m2 Q- t* n( g% b2 p
{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } * g7 N- l$ e7 n
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> : z8 k/ D* j3 Q
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> $ L  r5 w3 j3 {0 L1 C/ h1 p
{ /dede:loop }
9 K* O& }% V. h; t6、论坛版块名称调用方法
9 O5 L/ n5 t% V" ~{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
3 q& d$ O( I: [$ |( w) [<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a> $ E& ]" O2 l5 [; R; O! C
{ /dede:loop }
! R" p3 l) ?9 ~4 s2 J注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。 % I' D/ }2 f5 N# a) ]
但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图
; l* @4 P7 J2 l, f9 E% c% y5 ]  h: W' a' q3 ?8 f3 @, k# `
+ `+ u/ h- z0 n- E4 G1 s
7 O( }) H0 Q' g$ _
版块都是放在上面表中的
& l( P  V( t7 l, v& T+ R0 i3 ^& f表部分结构如下: $ \2 ]9 J8 z% M: m$ w
: T9 m& R* V: l

7 s9 y( ~7 I- C5 @/ y
4 ~. z5 G2 a1 k  g, H这样我们就一目了然了 : @2 {8 @; \" H) ]3 i! ?
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下: : F0 f# p  `, g
{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"} 0 o" s" W0 Y. }. p
<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]>
. O. }6 Q' u  G# @  _. Y$ r  Q1 z, C{/dede:sql}
0 N1 e# @0 F$ ]( U/ s: J, ]7 t

/ n$ J5 D4 B! s" X- |3 D
$ F4 y4 c) ]3 J$ G& I( K$ q附:dedecms的LOOP 标记规则 6 k" T6 A! ^! T  g
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作
- m" V! Z) ^% u# ]  C8 Y7 c. ^0 W6 Y  适用范围:所有模板
2 T5 a0 d. S9 S  基本语法: 0 h$ G2 H& R" }5 R, w6 E7 f$ W
  { dede:loop table=' sort='' row='' if='' } ) k% f+ _) {# h: k7 e$ A( |
  [1] table 表示查询的数据表 " ~5 c' ~, Y/ `8 }+ ?8 u8 |- [& Y8 k
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
, a/ S8 w. y$ o% ?% q3 E/ y  [3] row 返回结果的条数 ; m6 \% W5 g: k. G2 l9 z. {# z+ M
  [4] if 查询条件
$ w5 |! d) E4 M1 O# l! r) c' ^7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方) 7 x0 s+ D: R; s! F) k
{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 v+ E( h( f% D. RON`cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE `cdb_attachments`.`readperm`='0' AND`displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
9 Z. H* J! |8 B" u<a href="/bbs/viewthread.php?tid=[field:tid /]">
5 b/ f. i9 y$ o<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" /> : E2 U' I6 N' U
</A>
% y' P$ D4 R) w& }{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-7-15 12:57 , Processed in 0.024002 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部