漫潮者,私有云,NAS,新媒体电商.软件开发,商乾

标题: DISCUZ技术手册 [打印本页]

作者: 北极孤星的泪    时间: 2021-1-29 10:46
标题: DISCUZ技术手册
登录
  1. <a href="member.php?mod=logging&action=login" title="登录">登录</a>
复制代码
注册
  1. <a href="member.php?mod=register" title="立即注册">立即注册</a>
复制代码
用户组名称:
  1. $_G[group][grouptitle]
复制代码
用户组ID:
  1. $_G[group][groupid]
复制代码
总积分:
  1. $_G[member][credits]
复制代码
忘记密码:
  1. <a href="javascript:;" title="找回密码">找回密码</a>
复制代码
购买邀请码
  1. misc.php?mod=buyinvitecode
复制代码
JS跳转:
  1. onclick="window.location.href='home.php?mod=mobile&do=friend';"
复制代码
JS更换class的名称:
  1. document.getElementById('idname').className='a';
    4 f/ \# F) a, d
  2. document.getElementById('idname').style.display='block';
    ' b/ c- s8 y/ l- b# m/ s2 P" q
  3. document.getElementById("idname").style.marginTop="30px";
复制代码
批量替换超链接:
  1. href="[^"]*"
复制代码
过滤DZ代码:
  1. preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));
复制代码
调用单个数据:
  1. $a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码
调用统计数据:
  1. $a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
复制代码
单数据表调用:
  1. $perpage = 20;- P( }7 @- G+ h( E
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );. h* K" i4 g9 Y8 l- g' |/ u/ I
  3. $start = ($curpage-1)*$perpage;
    ' e5 A) T  T1 f. y$ F2 a: K) W; {
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));/ y' U) b3 W) q6 p/ F, {
  5. //$asklist
    6 X* E* N8 Z$ h7 o1 [  H5 f$ R
  6. $asklist = array();
    0 _! e4 X& R/ `( y" Z) s/ N
  7. if ($askcount) {
      ?" F. i+ L9 y' {
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");0 T7 T% a2 K7 N- v0 k0 e8 C+ Z: e
  9.         while ($value = DB::fetch($query)) {
    - g% J# _* o, n5 A+ A7 P
  10.                 $asklist[] = $value;7 z: G6 j: x. Y, w9 |
  11.         }2 L* m. y2 T6 \5 I
  12. }
    : m; t$ s5 e6 j% K: x) ^" h% g
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;. X) z, I* ?$ c! P, K. [3 H
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    . v  G5 H0 |. a+ ]- W2 }! b. R
  3. $start = ($curpage-1)*$perpage;
    8 n% |$ \7 }' ~
  4. $acount = DB::result(DB::query("SELECT count(*) FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != ''"));' Q6 h' N- m$ \9 b) K6 |. K2 j' _
  5. //$alist
    # T0 w, ?" |7 e# l- m6 e2 J' w
  6. $alist = array();; y6 N% |5 h6 H0 p: @& v
  7. if ($acount) {
    . o, f3 ]- n6 [. r3 [- K
  8.         $query = DB::query("SELECT bf.*, b.* FROM ".DB::table('forum_forum')." b LEFT JOIN ".DB::table('forum_forumfield')." bf ON bf.fid=b.fid WHERE b.type='sub' AND b.status = 3 AND bf.icon != '' ORDER BY bf.shoplevel DESC, b.commoncredits DESC, bf.fid DESC LIMIT $start,$perpage");
    + r. l7 K, F! ?6 y/ ~
  9.         while ($value = DB::fetch($query)) {* H! C6 J8 H$ c1 x' C* M
  10.                 $alist[] = $value;; {) J5 N! g) o6 g4 |
  11.         }
    + x2 P4 h; R4 ^6 n3 X% D1 I( M7 S3 Y
  12. }! {2 _0 W2 J4 }/ j" R0 L$ w
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->
    5 h$ |- ?: N% e$ x3 @8 M' E: B
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    5 y9 ^5 {  |/ e% P% C2 Q* f2 C
  3. <img src="$tupianfm"><br>$value[authorid]
    / `+ p; ^% m2 i+ b6 H4 \
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();* e0 k% Z1 z! `# [
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    1 b9 L- A) q) l/ P3 q! ~% L
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {4 i; c% P6 D/ M8 p- F
  2.         $setarr = array(2 K: ]7 U. }* z6 b5 o( [* ?
  3.                 'tid' => $_GET['topicid'],( L" F' ~7 n& w2 K: w
  4.                 'name' => $_POST['name'],/ {7 |, b, o$ J3 T2 ?4 F. }) o  ]
  5.                 'position' => $_GET['position'],
    4 I5 k+ X2 r6 b9 d* V
  6.                 'dateline' => $_G['timestamp'],
      y2 ~' d- G. P5 a
  7.         );: P5 c9 o1 o* T- I4 m1 z
  8.         DB::insert('abc', $setarr, 1);
    & l0 Z: s/ D+ Q! {0 g' L* ?9 i
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");  o' `9 {' y4 G
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");& K% N9 l  Q. E/ n
  11.         showmessage('成功的提示信息', "跳转地址");2 c" A& N; c; J; t$ M# L; s
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    ) |* g% R' W, B( L( U8 ?
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />7 d3 v7 j% B% G; N0 N% y
  3.         最低奖金:<input name="qi" type="text" value="" /> 4 S1 q0 ^* _* _; G) X' e4 |" m* R
  4.         最高奖金:<input name="end" type="text" value="" />  3 a& z+ g: |- q3 ^$ w4 Q/ v
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>: E, X% R! P& b0 H2 g; f9 S
  6.         <input type="hidden" name="tijiao" value="true" />, h2 `5 @5 M! g6 |
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    8 U1 m* |" f8 g; n9 K
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化4 _" d# H% A- g% |1 q0 J$ v
# I% }. V$ N8 |; @) \) u4 g2 W
调用图片附件:
  1. <!--{eval $biaoid = substr($value[tid], -1); $cover = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_attachment_'.$biaoid.'')." WHERE tid = '$value[tid]'"));}-->
复制代码
数据库循环嵌套调用:
  1. <!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('a')." WHERE `uid`= $_G[uid] ORDER BY `id` DESC");}-->
    $ X2 h# Y: g, N8 D* S% e$ w
  2. <!--{loop $slides $slide}-->: A: P8 _, E. p- o9 W
  3. $slide[name]! _  F' u" |& p# m2 }+ M3 I" ?
  4. <!--{/loop}-->
复制代码
ucenter无法登录:* K: u) k8 D; ]+ O8 @' }
打开uc_server/model/admin.php
4 U' K0 ~6 l! y" U, d# M找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript"> ( H5 Z; X' b4 x. y/ [
  2. var jq = jQuery.noConflict();
    % R8 p# ]( b1 m& ?1 V- D6 R
  3. jq(function(){ - ~3 n. z- t$ o  i: q( w
  4. jq("#changemenu>li").mouseover(function(){
    % ^7 k4 V$ [) V' N9 n+ L
  5. jq("#changemenu>li").each(function(i){
    ) t0 b- @+ G9 p/ b8 J* F
  6. jq(this).removeClass("current"); ! x' O3 r7 T6 e/ H" m
  7. });
    : u  F; |/ D# l, {& a- p3 o- o
  8. jq(this).addClass("current");
    7 U: [; i1 N. P* E
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';% K- ?0 m  t4 x/ n8 \" K
  10. }).mouseout(function(){ 7 D: z7 P& U3 t2 n: f& }( c
  11. jq(this).addClass("current"); - I3 l" m3 v0 c
  12. });
    7 C4 M5 }. U, T
  13. });
    $ t& E7 f* K; E; v1 n4 g9 k! b
  14. </script># W9 J' h- l5 W; j  D/ ?$ g
  15. <ul id=“changemenu”>  ~/ b: v1 }$ a  b5 P+ \
  16.    <li class=“current” dataid=“1”></li>! _2 n" E/ _3 Y/ I, X" E; y. h! x
  17.    <li dataid=“2”></li>
    7 K# L+ f5 w0 \( E2 M, C! L
  18. </ul>
      q; x5 o* F( e  x$ ~
  19. <div id=“changenr”></div>
复制代码
快速发帖:
  1. <a href="forum.php?mod=misc&action=nav">发布新话题</a>
复制代码
DISCUZ JSON数据解析获取:
  1. $str = 'a:2:{s:8:"sitename";s:8:"商乾学院";s:3:"pic";s:12:"banbanso.jpg";}';
    : x# q& A0 l/ k0 o( c! ]
  2. $newstr = str_replace("\","",$str);
    2 q3 L' G8 R% \5 |, \' B
  3. $data = unserialize($newstr);' i6 [, C) M% \& ]* o6 y
  4. echo $data[sitename];//输出结果为商乾学院
复制代码
DISCUZ云平台站点同步提示DNS错误解决方法:打开source\plugin\manyou\Service\Client\Restful.php,找到代码:
  1. $result = $this->_fsockopen($url, 0, $data, '', false, $ip, 5);
复制代码
修改为:
  1. $result = $this->_fsockopen($url, 0, $data, '', false, $ip, 30);
复制代码
LI标签列表自适应宽度JS实现代码(去除每行最后一个li标签的右边距):
  1. <script type="text/javascript" src="https://www.banban.so/new/bang/uploads/146383669567393.js"></script>
    $ |4 R: E" w  J( C
  2. <style>ul,li{margin:0; padding:0; list-style:none;}.list{width:100%; margin:0 auto;}.list li{width:32%; float:left; margin-right:2%; background:#0092B9; text-align:center; color:#fff; height:300px; line-height:300px; margin-bottom:10px;}</style>' W+ a& ?! x( p9 M/ n, s
  3. <div class="list">  f. \0 I2 g5 d8 @  U% _& f
  4.         <ul>
    7 z) U' r. e/ w0 h1 S( L
  5.                     <li>dz班班学院</li>9 G1 N3 e4 y! _6 u/ u( J
  6.         <li>dz班班学院</li>
    2 V, D9 @" d1 w
  7.         <li>dz班班学院</li>
    # }2 E% x4 m" a5 N
  8.         <li>dz班班学院</li>
    ) [7 ]! }+ m/ I4 u, e
  9.         <li>dz班班学院</li>! s5 m& J6 m1 a
  10.         <li>dz班班学院</li>5 x* g/ B+ r8 u: I  m3 [- n9 n. \
  11.     </ul>
    5 O% r, h: m3 ?( V4 f( F- g+ \( x* z
  12. </div>0 ?7 x* {. w! |8 N! b& D
  13. <script type="text/javascript">) L0 }8 U" ?: a5 k' t, e/ c# b. |
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');4 I: K3 R0 }6 d/ E  ]  L* C  X' r- a
  15. </script>
复制代码
常用词汇
  1. select 选择$ `0 z& f2 y% b
  2. count 总数
    ( J# L7 s" _! K0 g% x$ j
  3. table 表) Q9 Q; ~" R7 T' @7 f9 K
  4. where 条件0 U. l  h. p7 N' f
  5. result 结果* c( g4 D: F# o. q& O3 C
  6. perpage 每页; J/ a- w& m6 n9 I. z: G
  7. curpage 当前页
    ' l8 p' P& r0 X
  8. update 更新
    0 X) t! [6 A; p4 |0 a( t) G/ }
  9. delete 删除( v' u* N/ I2 `" U  C  E
  10. insert 写入$ @0 T2 F& U/ C3 |0 f6 k3 d
  11. dateline 日期$ p' n  n4 n+ L3 v  U
  12. time 时间
    ' t) C* _; j0 D* m, g. ]6 h
  13. echo 输出   <?php   echo '123';   ?>$ H" N, l2 J  h* w/ D7 d  W4 T
  14. multi 分页函数
    - y9 @9 j9 z! d2 W% [7 |2 T
  15. if 如果
    * Z' L" H% u0 w1 |; r; T* m0 m
  16. else 否则  X1 q5 U! A- r2 o9 z
  17. elseif
    . D+ W( n7 k9 h0 t1 H1 U5 W+ i
  18. start 起始, e! H; z; y. p. a$ y
  19. limit 限制  limit 10! v' u: k: i+ ~7 @- @2 K+ o
  20. DESC 倒序
    * j" P( h8 K0 X$ y( Q' P9 V
  21. ASC 正序
复制代码
活动帖发布页面核心处理文件:
  1. source\class\extend\extend_thread_activity.php
复制代码
调用分类信息字段名称(仅适用帖子详情页):
  1. $_G['forum_option']['字段变量名']['title']
复制代码
调用分类信息字段的值(仅适用帖子详情页):
  1. $_G['forum_option']['字段变量名']['value']
复制代码
以下是DISCUZ判断当前页面是否为论坛首页代码:
  1. <!--{if $_G['basescript'] == 'forum' && CURMODULE == 'index'}-->……<!--{/if}-->
复制代码
以下是DISCUZ判断当前页面是否为门户首页代码:
  1. <!--{if $_G['basescript'] == 'portal' && CURMODULE == 'index'}-->……<!--{/if}-->
复制代码
就是区分下forum和portal,如要判断home首页代码:
  1. <!--{if $_G['basescript'] == 'home' && CURMODULE == 'index'}-->……<!--{/if}-->
复制代码
如要判断group首页代码:
  1. <!--{if $_G['basescript'] == 'group' && CURMODULE == 'index'}-->……<!--{/if}-->
复制代码
Disucuz模板调用标签汇总(DIV)
以下是Disucuz模板调用标签汇总:- h! h; g, j4 B& n. O
1、调用DIY框:
1 j, M1 R4 J9 h0 R4 T: e2 c
  1. <!--[diy=diy1]--><div id="diy1" class="area"></div><!--[/diy]-->
复制代码
2、循环
  1. [loop] [/loop]
复制代码
数据ID
  1. {id}
复制代码
作者UID
  1. {uid}
复制代码
作者名
  1. {username}
复制代码
用户头像
  1. {avatar}
复制代码
用户头像(中)
  1. {avatar_middle}
复制代码
用户头像(大)
  1. {avatar_big}
复制代码
文章链接
  1. {url}
复制代码
文章标题
  1. {title}
复制代码
, S# [" _) U# ~# E" K3 x2 h3 V
文章封面图片
  1. {pic}
复制代码
文章简介
  1. {summary}
复制代码
发布时间
  1. {dateline}
复制代码
栏目链接
  1. {caturl}
复制代码
栏目名称
  1. {catname}
复制代码
文章数
  1. {articles}
复制代码
查看浏览数
  1. {view}
复制代码
评论数
  1. {commentnum}
复制代码
更多链接
  1. {moreurl}
复制代码
当前数据顺序
  1. {currentorder}
复制代码
当前数据是否在奇数行
  1. {parity}
复制代码
默认循环显示内容
  1. [loop]...[/loop]
复制代码
4 H: t& u. o# A4 q
替代对应loop中指定数据内容,
  1. [order=odd]
复制代码
为奇数行,
  1. [order=even]
复制代码
为偶数行
  1. [order=N]...[/order]
复制代码
特殊指定数据显示内容
  1. [index=N]...[/index]
复制代码
可设置打开方式的链接
  1. <a href="{url}"{target}>{title}</a>
复制代码
可设置缩略图大小的图片
  1. <img src="{pic}" width="{picwidth}" height="{picheight}" />
复制代码
3、帖子图标
  1. {icon}
复制代码
4、版块 URL
  1. {forumurl}
复制代码
5、版块名称
  1. {forumname}
复制代码
6、主题分类名称
  1. {typename}
复制代码
7、主题分类图标
  1. {typeicon}
复制代码
8、主题分类 URL
  1. {typeurl}
复制代码
9、分类信息名称
  1. {sortname}
复制代码
10、分类信息 URL
  1. {sorturl}
复制代码
11、总发帖数
  1. {posts}
复制代码
12、今日发帖数
  1. {todayposts}
复制代码
13、特别后回复时间
  1. {lastpost}
复制代码
14、发帖时间
  1. {dateline}
复制代码
15、回复数
  1. $_G[forum_thread][replies]
复制代码
5 K9 o* \6 ~: j7 L) G
16、总浏览数
  1. $_G[forum_thread][views]
复制代码
17、热度值
  1. {heats}
复制代码
18、力荐数
  1. {recommends}
复制代码
19、更多链接
  1. {moreurl}
复制代码
20、当前数据顺序
  1. {currentorder}
复制代码
21、默认循环显示内容
  1. [loop]...[/loop]
复制代码
22、特殊指定数据显示内容
  1. [index=N]...[/index]
复制代码
23、可设置打开方式的链接
  1. <a href="{url}"{target}>{title}</a>
复制代码
24、可设置缩略图大小的图片
  1. <img src="{pic}" width="{picwidth}" height="{picheight}" />
复制代码
25、当前数据是否在奇数行
  1. {parity}
复制代码
替代对应loop中指定数据内容,
  1. [order=odd]
复制代码
为奇数行,
  1. [order=even]
复制代码
为偶数行
  1. [order=N]...[/order]
复制代码
26、[index=1][/index]
, j. g( K. @5 v% F* ]27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址  Y' Q; i' Q( a% o. h# e" `
30、主页路径:
  1. {$_G['siteurl']} 如{$_G['siteurl']}forum.php?mobile=yes
复制代码
31、默认图片存放的路径:
  1. {IMGDIR}
复制代码
32、调用网站后台备案信息:
  1. $_G['setting']['icp']
复制代码
33、Dz当用当前时间;
  1. {lang time_now}
复制代码
34、调用当前用户名:
  1. {$_G[member][username]}
复制代码
35、用户头像:
  1. <!--{avatar($_G[uid],small)}-->
复制代码
36、调用后台中的底部导航菜单:
  1. [code]$nav
复制代码
# B2 X' W2 {4 g8 z; w

作者: 北极孤星的泪    时间: 2021-3-11 10:08
Discuz“密码错误次数过多,请15分钟后登陆”解决方法. o. C& j) r2 |, u1 \% _" v/ i. G
https://www.aurrel.com/forum.php ... 17102&fromuid=1
7 W, P3 f$ D4 ]! d2 k# ^- y
3 |+ J2 b5 v! S0 Y. h; v4 y3 }5 \" K2 f% M

* ^6 ]5 G0 o0 @/ Y6 e: V: ^$ u: j
作者: 北极孤星的泪    时间: 2021-3-11 10:09
DISCUZ论坛做网站轮播图方法) s4 f- j0 F& F  _3 W  z
https://www.aurrel.com/forum.php ... 17100&fromuid=1  _: |+ |0 x; \! z3 C

: T  l) m, N8 H, O- v  L# b$ ~9 N! [) j+ ?* S

作者: 北极孤星的泪    时间: 2021-3-11 10:09
DISCUZ模板制作实用代码集锦
* y: ^: \* }/ `/ x3 |; Vhttps://www.aurrel.com/forum.php ... 17101&fromuid=1/ b# W/ g3 v0 S4 G5 b% O& c3 M& F. s
6 `- ?+ q3 x- b3 L: P& q, U, i
4 ^% r% v' y4 `3 y7 s5 x/ N+ d

3 j2 d7 V+ |( n+ O# E1 }- p( P
作者: 北极孤星的泪    时间: 2021-3-11 10:09
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
# \0 j# t) ?" ?# uhttps://www.aurrel.com/forum.php ... 17102&fromuid=1
6 }$ H2 Y# |- v5 L/ b" @" P7 ?% T6 Q9 L

' ^, t. d' v6 d/ Y4 {8 U" B0 S, y& H0 `/ x& Z





欢迎光临 漫潮者,私有云,NAS,新媒体电商.软件开发,商乾 (https://www.aurrel.com/) Powered by Discuz! X3.4