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

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

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

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2010-8-22 01:05:23 |只看该作者 |倒序浏览
调用帖子内容摘要信息
1 I" K: h* ~9 z5 i{dede:loop table="cdb_posts" sort="tid" row="3"}
! o& {# p4 k" [4 V# x+ c2 |9 t<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',100)" /]</a>
- L$ J4 s2 e9 F  |% t1 n[field:message function="cn_substr('@me',46)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
* E  c3 `, M6 z( u* u  n% }</li> 6 w, U8 z2 L0 d) p! o& `  H
{/dede:loop}

6 O% Q" K. K% Z1 u% z4 W6 T* }: k调用查看次数最多的帖子。
: `: W( f4 ~! u6 O  ]{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="views" row="8"}
% q2 V0 z( L+ [& a8 g+ R<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> * k3 {8 D" g  z/ P2 ?9 F/ k% l
[[field:lastpost function="date('m-d','@me')" /]]
# G! u7 M5 z4 F7 ^6 x; Q</li> ( s$ K) V( o4 U0 U
{/dede:loop}
1 k* O, X& S8 y' q0 P8 }1 m调用回复次数最多的帖子。 # Q6 h; J% K. G" A
{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="replies" row="8"} ( O# k% i; j6 y8 _) j% O, l
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a> 5 L# i7 \* a5 M0 @; {- I
[[field:lastpost function="date('m-d','@me')" /]]
, C8 H* J  E' h2 s/ E* T$ L3 q</li>
- h1 w& o7 s4 R{/dede:loop}
& c8 M& y/ C/ r! H/ B调用精华帖子 帖子分为1级精华2级精华3级精华。精华越高排在最前面
& O- ?! @0 a0 g1 S{dede:loop table="cdb_threads" if="fid=4 and displayorder!=-1" sort="digest" row="8"} ( X9 U. c: h3 F
<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',26)" /]</a>
+ b; m, H4 P& Q; }( N# q[[field:lastpost function="date('m-d','@me')" /]]
' R; o7 f! o& b) B" \</li>
' U0 }+ B3 ?% p# \{/dede:loop} 6 ~2 Q7 _- O' |- ]. f
调用帖子内容摘要信息
$ u# \# q% E0 B6 ^
0 J$ n( y" ]6 D; Ffirst=1 只显示第一楼主题的信息。first=0 就是只显示回复信息 fid=4就是板块的id tid就是主题的id sort="tid" 按主题倒序排序
/ o' K2 L# |- F8 f, s1 }" O
7 o2 W/ q! @& ?  O& v9 l9 y{dede:loop table="cdb_posts" if="first=1 and fid=4" sort="tid" row="3"}
8 a( C1 W4 c7 t5 z. e9 \<li><a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[field:subject function="cn_substr('@me',46)" /]</a>
* L* R5 ?% Z5 s- T7 ]  g[field:message function="cn_substr('@me',60)" /]...<a href="/bbs/thread-[field:tid/]-1-1.html" target="_blank">[查看全文]</a>
  |8 q- U% ?9 ^' z, p& h! l( Q1 O7 U</li> ' ]  T& q% Z8 Y3 {- J
{/dede:loop} . S1 T: U7 C6 N: @* S
幻灯片调用DZ论坛图片显示
- S8 R  o5 @& J<script language='javascript'>
, z7 p% |- o* X3 ~. [+ ylinkarr = new Array();
. P9 W4 r6 ]! f4 p2 \picarr = new Array();
0 B) f" f% H% a2 A$ }( n9 [. [3 N+ L/ Otextarr = new Array(); / l3 e' d: c' J
var swf_width=280; . V0 a/ }. \) N2 T' E$ y' O7 v
var swf_height=192; 7 [  W5 v  Q5 N, E/ p
var files = ""; ( L4 d# Q6 H7 q, [' j' q
var links = "";
* B' f& t% g# ]- Dvar texts = "";
5 f$ I8 B: F" a8 D//这里设置调用标记
# {+ E/ Z9 M1 A$ A( y" @/ H{dede:sql sql="SELECT`cdb_attachments`.`aid`, `cdb_attachments`.`attachment`,`cdb_threads`.`tid`, `cdb_threads`.`fid`, ( z$ w! W- S3 A! V# e  @$ m, P
+ k9 m% l6 Y2 O. w8 N; @" ~
`cdb_threads`.`subject` FROM `cdb_attachments` LEFT JOIN `cdb_threads` ON `cdb_threads`.`tid`=`cdb_attachments`.`tid` WHERE 1 S- l) G# [! ]) ~1 z# v# V
5 M+ t1 i' k6 i+ ^2 v& g6 }: W
`cdb_attachments`.`readperm`='0' AND `displayorder`>='0' AND `filetype`='image/pjpeg' GROUP BY tid LIMIT 0,1 "}
1 p! `* V2 a$ B! N: l# E: A. ?* s6 o5 k7 ]' \6 ]% j
linkarr[[field:global.autoindex/]] = "/bbs/viewthread.php?tid=[field:tid /]"; 0 u. l5 ^) j$ ?4 |' s/ X: {
picarr[[field:global.autoindex/]] = "/bbs/attachments/[field:attachment/]";
5 T1 A/ e5 ?  qtextarr[[field:global.autoindex/]] = "[field:subject function='html2text(@me)'/]"; 9 Z% |0 b( D6 Y. t/ W* P; b
{/dede:sql}
                   //原来的替换成这里,本人亲自测试可用,上面红色字 dz7.2版本数据表里那个值的内容不一样 换掉就可以的 我索性直接删掉了红色字 不影响 随便了
8 d1 D" `. @! c8 S
( |, H8 ]& E& sfor(i=1;i<picarr.length;i++){
) J( w1 R: M% s" g  G0 F1 {% iif(files=="") files = picarr;
$ _$ o; Z- z7 v0 y8 \0 Celse files += "|"+picarr;
0 `1 O& ]2 `: `8 |# I. h8 g/ P% y} 2 b+ H& N, A9 k4 V# G, ~: f4 {
for(i=1;i<linkarr.length;i++){ ; p4 [9 n7 Z0 B8 k  c3 k, A8 f
if(links=="") links = linkarr; % A# X* U) I  j: {4 q5 h# Y
else links += "|"+linkarr;
- h; U2 p4 O! ^2 m}
4 Z! ~  z: T& Xfor(i=1;i<textarr.length;i++){
1 I* D  W: e6 z  {if(texts=="") texts = textarr; $ D; D* i3 O" D( ~5 ~5 j3 m4 j$ G
else texts += "|"+textarr;
- t- P! w& l4 w$ q. ]}
& c, F8 e8 Z$ X2 {1 d, {document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ; W, k% g/ y( Z" z6 s+ A1 C
1 \: l7 k5 T( C: R. U
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+ swf_width +'" # x* ~& I* Q$ q) l( f" l! O$ N
0 s4 h' G: G$ n. W" @* O6 o
height="'+ swf_height +'">');
% \( V2 h  S/ H6 o5 T- ^0 h% Tdocument.write('<param name="movie" value="{dede:global.cfg_templeturl/}/images/bcastr3.swf"><param name="quality"
$ A# [; e; o. u7 y5 g; ~6 N
0 Q2 c3 s$ m6 Nvalue="high">');
5 X2 z2 G5 D4 C, l% ~  E9 \document.write('<param name="menu" value="false"><param name=wmode value="opaque">');
3 {. E) D$ M) [* Y6 w5 }document.write('<param name="FlashVars" value="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'">');
- V% m% U; D$ J, a4 rdocument.write('<embed src="{dede:global.cfg_templeturl/}/images/bcastr3.swf" wmode="opaque"
3 b/ `; U9 P/ |! n% G4 O) r5 \4 Q4 x+ J- @, x, {% l
FlashVars="bcastr_file='+files+'&bcastr_link='+links+'&bcastr_title='+texts+'& menu="false" quality="high" width="'+ - }9 U3 J" g3 A: O- d# R$ |
- ]9 O  k3 ~( {) ?8 T3 L
swf_width +'" height="'+ swf_height +'" type="application/x-shockwave-flash" ) L  t1 \: b6 C1 w2 e
! W" l# c8 s$ j& _& D% [# C( k
pluginspage="http://www.macromedia.com/go/getflashplayer" />'); document.write('</object>');
7 H% j) m  c2 _9 O3 L9 `; Q7 `- Q</script>
9 w. p8 v) \+ e- W1 t) O
/ `4 E0 H7 c+ r  m. h4 X4 g
+ k! t! L, x- |  d6 H- k
调用Dz论坛图片,特定板块。AND `cdb_threads`.`fid` ='12' GROUP BY tid LIMIT 0,5 中的fid就是板块id limit 0,5 就是5条数据 8 k0 R4 R/ h1 K

3 U1 M1 l% O9 R9 q7 c: |" @0 W$ M. x% B) A7 \! q' [. e7 _. r
1、论坛最新主题调用代码如下: {dede:loop table="cdb_threads" sort="tid" row="10"}
$ Z! T( d+ v0 `$ {* p" e<a href="/bbs/viewthread.php?tid=[field:tid /]"> ) {. j9 F7 M* I) R; B
·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
4 V8 I/ X5 n9 G" p# h( j+ Z<br/> : K7 ]7 i" X& S% c2 o
{/dede:loop}
, A& H5 [; |" D3 f: b9 R这个连接地址你可以写相对路径,也可以写绝对路径。
. a& ^3 P* J) R. ~- t  如果是discuz动态论坛,链接地址如[url=]http://bbs.xxx.com/viewthread.php?tid=[/url][field:tid /]
; X; P" K; z, L; A* E# |+ X  如果是discuz静态论坛,连接地址如[url=]http://bbs.xxx.com/thread-[/url][field:tid /]-1-1.html % R  E' ]: R5 |8 a
2、论坛指定版块帖子调用方法: ( l9 o* n5 S# Q* D- {. P( l+ ^
{ dede:loop table="cdb_threads" if="fid=1 or fid=2 and displayorder!=-1" sort="tid" row="6" } ) u6 W* v6 D9 L! G6 @
<a href="/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> , H3 ^- j8 v7 c* g; D  S
·[field:subject function="cn_substr(' @ me',50)" /] </a> - G' N! V$ ~0 c" |; r
<br/> 6 V+ J/ D& v$ }- a( N& C
{ /dede:loop } 8 x$ I' U  y4 N3 ?
其中的fid=1 or fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x . b: n1 J$ z8 h. x6 S5 R- u
3、论坛调精华主题调用代码如下: 7 D) v# x7 \% h
{dede:loop table="cdb_threads" if="displayorder!=-1" sort="tid" row="10"}
; r) v& Q/ ^/ H! c5 ~<a href="/bbs/viewthread.php?tid=[field:tid /]">
' j" Y2 x5 p% ]! P1 ?' d·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
7 w0 G' T- U" k0 ?8 ]6 G<br/> . e& S9 v2 }4 o" u$ ^
{/dede:loop} ; P4 S. g: [' B
如果想调用某个板块的精华主题代码如下: 5 r) z$ p( V6 y, I4 [& f6 L
{dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="tid" row="10"} + U, g; H* {: n! z8 j- K
<a href="/bbs/viewthread.php?tid=[field:tid /]">
; L% ]- O& a, ^* Y& V·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a> 1 t$ i9 t7 o8 d2 {: }: q/ P
<br/> $ ?: Z. c5 q) U0 G3 b$ K( L/ g
{/dede:loop} : ]8 f# X9 s) A/ D/ r+ r( v
其中的fid=5是论坛主题分类id,可以按照自己要求来修改, : _- G  ~/ @! U. q$ \8 ]* e8 g
  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。
$ a  h3 Y! N* E( E3 W+ R8 [4、调用的帖子列表这可以按查看次数排序,代码如下: * ^& H5 S" y# y4 E; s! N
{dede:loop table="cdb_threads" sort="views" row="10"} ! w  |5 Q. c% `' n; X7 J9 x3 V' T$ B
<a href="/dz/viewthread.php?tid=[field:tid /]">
2 I0 u0 a1 o* S) k7 K5 u·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /])</a>
! r/ S' ]' S4 H8 R; l. ]: L<br/>
! {3 J* E- |4 u{/dede:loop} 0 ]& {) t! [0 j
其中sort="views" 就是控制按照查看次数排序的代码
) a  V2 ~/ C/ L5、论坛置顶版块帖子调用方法举例:
; s' j% D: B$ u' i. Q  c{ dede:loop table="cdb_threads" sort="dateline" if="fid='3' and typeid='51'" row="10" } : m& b: i2 a: \+ K9 ^( w
<a href="/a/bbs/viewthread dot php?tid=[field:tid /]" target="_blank"> $ E7 d3 ?2 `- v0 l# j" f2 ~9 {
·[field:subject function="cn_substr(' @ me',30)" /]</a> <br> $ r3 o' s  N* b: i* ?; b
{ /dede:loop }
- t) C+ g! u0 n# H6、论坛版块名称调用方法
; Z/ ]4 p' m4 t( e5 a5 x; u9 e{ dede:loop table="cdb_forums" sort="displayorder" row="16" col="4" }
( J' K* y, k; G2 E$ G! w<a href="/bbs/viewthread dot php?fid=[field:fid /]">·[field:name function="cn_substr(' @me',30)" /] </a>   O6 X5 ^, }2 [) Y: h( n
{ /dede:loop }
4 p. |8 y  O4 K0 B0 U注:这种方法这个还有点问题,它会将论坛分区、版块都调出来。
* s, w/ [5 o& q. ]  c但是我们可以不用 loop方式 换用sql语句来调用(这种方法万能 呵呵!!)下面看图 4 d  H1 ?' V8 o, y2 l
: g8 q$ ?1 \! {4 {- T5 ]9 S% A
. D3 y# f2 \( c( ~% b

# z7 N9 ^. l  u$ m8 l版块都是放在上面表中的
' [& V! i9 r7 D3 V' u表部分结构如下:
" v$ j" Z' v5 o2 @
& \+ o2 k9 w: k1 a/ J
5 |) [7 U7 |$ i+ i0 o $ @' J: X9 @4 g
这样我们就一目了然了 . d: t  m5 ]6 r/ S
用sql调用 第一个版块里的子版块 也就是 11111111   , 2222222, 333333333,4444444444四个板块名称;方法如下:
7 Q0 n3 s2 @& }7 C6 J{dede:sql sql="select fid,fup,type,name from cdb_forums where fup='1' GROUP BY fid LIMIT 0,4"}
: K4 K% g  H; q<a href="/bbs/forumdisplay.php?fid=[field:fid/]">·[field:name function="cn_substr(
[url=]</a[/url]> ; l" t8 f! X/ D! c. _& h7 c
{/dede:sql}

$ F1 C# l3 ]- F" u8 G6 O% f+ i
2 A: }8 x5 Y4 A- _+ G) y/ U, y+ T) E3 ^& u$ y" F# j
附:dedecms的LOOP 标记规则 7 F4 d) X. V( z: W: E
  功能说明:用于调用任意表的数据,一般用于调用论坛贴子之类的操作 / E6 e( Q. ]7 o6 |  h9 B0 y
  适用范围:所有模板
4 G& O% F9 R  ^* B  基本语法:
; l; Y1 N3 E: C; X% q9 S  { dede:loop table=' sort='' row='' if='' }
# N( ^: [+ K0 {1 _/ G/ e; S  [1] table 表示查询的数据表 . D5 {9 j0 L4 H
  [2] sort 用于排序的字段 也可以加"views"(查看次数排列)
$ ^  e1 M3 h& O8 @  [3] row 返回结果的条数 7 `/ W; W) w( T( r
  [4] if 查询条件 8 r( ~! P/ C4 x4 ]3 G
7、调用论坛帖子中的图片方法,网上搜到的,此方法同上(幻灯片的地方)
4 u9 [( S4 D+ o0 K" g9 w' q{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 j- s; G9 P; }; f4 \2 ?* 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 "} 0 N2 W. U, w$ x  X: P
<a href="/bbs/viewthread.php?tid=[field:tid /]">
9 I6 V: i: U: S9 F( K; ?, x: e' N<img src="/bbs/attachments/[field:attachment/]" ALT="[field:subject/]" width="100" height="80" border="0" />
. X9 N) r: D: `( T</A>
" L: l& }; Z9 s; a8 u$ j" J{/dede:sql}
您需要登录后才可以回帖 登录 | 注册


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

GMT+8, 2025-1-11 11:32 , Processed in 0.025002 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部