[PHP教程] DISCUZ技术手册

  [复制链接]
查看4291 | 回复4 | 2021-1-29 10:46:07 | 显示全部楼层 |阅读模式

登录网站,浏览更多精彩内容

您需要 登录 才可以下载或查看,没有账号?加入我们

×
登录
  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';
    ; W& X/ ^) y! k- k- N# f# a
  2. document.getElementById('idname').style.display='block';
    " P( i: g2 [+ F
  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;8 g4 [- H# W3 w4 a  G, K5 g
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );( f6 w8 }( D8 m( O5 D
  3. $start = ($curpage-1)*$perpage;
    & P: E7 P2 h0 J9 K# x
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));8 W2 {7 t5 q- x4 f7 L
  5. //$asklist
    6 V& G: M+ T3 K5 q( V4 V
  6. $asklist = array();& W8 D; ~# ]* _$ G+ P* S
  7. if ($askcount) {
    . a" f1 b  K* U. u2 m
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");0 R# X3 o9 z0 |9 j6 ^% E$ D
  9.         while ($value = DB::fetch($query)) {
    # _0 t" n- ~; O) O
  10.                 $asklist[] = $value;
    : b' P8 M/ ]' M3 |1 e& G5 N3 h9 n
  11.         }
    0 j# `- o( y( T& w
  12. }" w" r4 a6 K  C2 o3 ~
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;
    ' @; W# N3 u" m+ z4 K( C( k
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );4 D% I5 l' T+ f
  3. $start = ($curpage-1)*$perpage;  I4 ?+ t/ ^  a" D; y* l
  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 != ''"));
    , G# I+ H* A3 @: R" R- Q1 ^
  5. //$alist1 r$ i* a( @; v% K7 \1 V
  6. $alist = array();
    : j2 x: N% E$ K0 j
  7. if ($acount) {
    0 g# ~3 `% y9 T  a. ~1 R- `
  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");' I) V  h* e, H
  9.         while ($value = DB::fetch($query)) {
    0 O, |" T5 r1 F
  10.                 $alist[] = $value;
    ; C8 r  L; U1 G: I$ }7 z
  11.         }  N& D/ D( p" }2 I. ]3 i
  12. }
    - W' s& Z. _! w
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->9 t% |" j+ S4 s' o- y8 y# B. q" D
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    ; S7 y) W4 l5 j: F) u; O3 J
  3. <img src="$tupianfm"><br>$value[authorid]8 [0 H9 i3 c9 \5 @& T' d4 ?
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();& u& i9 j# |4 b! b
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->/ _& ]0 X2 {" j; i9 W& K
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    0 G$ N" ]8 N5 Q) ?; R6 j
  2.         $setarr = array(4 Z$ ~) k9 p1 T9 O2 E! I$ k/ {
  3.                 'tid' => $_GET['topicid'],* E' _- N' k4 t% z+ i
  4.                 'name' => $_POST['name'],- b% q- [- Q% G# |# J
  5.                 'position' => $_GET['position'],
    ' L% E) z9 T: M
  6.                 'dateline' => $_G['timestamp'],
    $ `! T: X( L: H) h) W5 F# X
  7.         );
    9 ~) r* E/ |. O0 V6 C! K: B
  8.         DB::insert('abc', $setarr, 1);: t8 [# j) M  v" T* i& W
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
    9 t8 ^, o3 t; X) [& L
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");
    9 N0 s6 x% q5 e9 B' d$ [) o: t7 v
  11.         showmessage('成功的提示信息', "跳转地址");6 n+ b. n  \; n$ k+ R4 B  q; y9 f
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    " Y9 S- ^" B" J) I% m4 ^
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />  T/ _3 P& f/ |2 }/ i8 q& \  K0 H7 `
  3.         最低奖金:<input name="qi" type="text" value="" /> 6 q2 S! j, \7 Y
  4.         最高奖金:<input name="end" type="text" value="" />  
    7 f! M8 k3 `# P8 q6 l/ H! M
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>. d+ ?( n! [, `4 @: l6 r
  6.         <input type="hidden" name="tijiao" value="true" />( A) h0 K: u1 k9 C' M0 R2 `7 p
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    + `9 ^# B* Z2 i( H+ b
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化
" J+ Q8 u3 }9 \9 z4 L  F
1 f* Z2 Y' ]/ N# j2 `3 ^) U调用图片附件:
  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");}-->* Z% z. v2 M) R$ _1 Q& [% U
  2. <!--{loop $slides $slide}-->$ I1 _) Q3 z" `) P: a
  3. $slide[name]# f1 a+ P% n0 p, O" `3 T7 R
  4. <!--{/loop}-->
复制代码
ucenter无法登录:/ _2 E+ P5 l; N/ d
打开uc_server/model/admin.php" j/ ~* W3 T6 }' S
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript"> 2 T8 F5 r# z9 G4 d+ w( _; Y' d
  2. var jq = jQuery.noConflict();1 F. d, o! ^3 U8 {- L/ n$ L. P9 ?
  3. jq(function(){
    & d- m9 Y1 Q8 y7 i: ?
  4. jq("#changemenu>li").mouseover(function(){ 5 U3 b# [. O$ m; a9 p9 @+ c/ t
  5. jq("#changemenu>li").each(function(i){ % i  V/ e& w/ U4 j( w/ m
  6. jq(this).removeClass("current");
    ' L8 Y8 c; K8 f; R* s/ }) w* N: q# x
  7. }); " Q, b; _/ I1 Y, p
  8. jq(this).addClass("current"); 1 N& `6 j8 A& B! \2 L
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';- i7 Z, m) D7 f% B- d
  10. }).mouseout(function(){ 2 Q$ d; q4 m& ~  Y& u* K
  11. jq(this).addClass("current");
    % r4 p$ G/ U- T' C8 ~
  12. });
    0 q  l9 t( Q2 [) B6 e+ ?0 C
  13. });/ j: w. z) N; t( m0 S6 x, D) H: T
  14. </script>
    # J0 C! ~' s) X
  15. <ul id=“changemenu”>
    3 J/ X7 W! c. o
  16.    <li class=“current” dataid=“1”></li>
    9 H- |2 ^0 I' w: g
  17.    <li dataid=“2”></li>' v* J' ~& b4 {% K: q
  18. </ul>
    & D  E7 C4 ?( v1 ^4 {7 P4 j
  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";}';% R/ p- ]: L$ V, v0 ~8 ^0 t
  2. $newstr = str_replace("\","",$str);
    7 q) F  g( S# n; X: _7 E
  3. $data = unserialize($newstr);
    9 J/ \0 b' O( m7 i% f
  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>% \  I7 J& {4 o) E/ _
  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>
    2 ~1 f7 E# c" _. w+ N
  3. <div class="list">
      e/ o$ q& @6 l% e( \
  4.         <ul>
    ; f1 a$ g1 p9 u$ G" T6 b! m
  5.                     <li>dz班班学院</li>
    - L* x5 K: b/ Z
  6.         <li>dz班班学院</li>2 H$ s8 a0 _- ~) Q8 _, s% U# C( y
  7.         <li>dz班班学院</li>+ r) k! U4 {8 V7 N. ~4 t0 T
  8.         <li>dz班班学院</li>% K2 R+ ]7 N! r
  9.         <li>dz班班学院</li>
    . l1 y, _1 |5 @4 K
  10.         <li>dz班班学院</li>0 ?. K, e% a! ?+ |
  11.     </ul>
    . r* z# B& z( T' z+ z6 j0 ^
  12. </div>
    4 K2 E+ h$ w8 o5 S  Y
  13. <script type="text/javascript">
    / _8 B1 k1 ~1 {/ y; ?
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');
    " F& t2 V# U4 g% Y
  15. </script>
复制代码
常用词汇
  1. select 选择
    9 W. {1 Y* J3 V+ c
  2. count 总数5 y# B- C5 j7 k8 J3 B( s3 f+ ^
  3. table 表7 Z9 c2 x" _/ M
  4. where 条件
    5 M0 y3 Y) |' z1 O
  5. result 结果
    # E4 Q1 G  a0 ~& }6 `4 S; M; `
  6. perpage 每页
    # h  |" H7 H/ h6 v% |
  7. curpage 当前页; I/ ^6 _; j. q* i) Z
  8. update 更新
    7 w6 _& t4 @* G, Z9 C
  9. delete 删除1 K: d5 K) }3 L
  10. insert 写入8 u: H( [% w! M, W. b8 Q# Y# M
  11. dateline 日期
    * R! J2 N; [) T! p
  12. time 时间2 E4 c, H! {7 |2 Y& S9 {, ]
  13. echo 输出   <?php   echo '123';   ?>3 u0 `3 t* u5 r6 V6 f- f9 w6 Q0 m
  14. multi 分页函数
    % Q) ^& w1 U: p( h3 L) U0 S% o9 ^
  15. if 如果
    , w6 v* y. ]; N/ N- B
  16. else 否则
    ) F: D2 u) b7 M
  17. elseif 5 k* n) k# Y: A9 W9 y! m2 o
  18. start 起始+ L( d+ w: `5 v, N3 P/ |
  19. limit 限制  limit 10
    - W% A: K+ ^) o7 q. ]
  20. DESC 倒序
    & z  U  d& p; _4 w: C" ^  o
  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模板调用标签汇总:/ k4 j8 x6 F  A; v- N
1、调用DIY框:. y8 Y1 P0 Z( D- ?. h* n. n
  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}
复制代码

0 z% B' e$ J8 O! r文章封面图片
  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 b1 m" U6 \6 o# \& s# y
替代对应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]
复制代码
1 l1 V+ `) n; F  N) Y
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]
7 P& x  ?, I# X& Z$ n# F: \) [: F4 v) V27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
1 l. D9 ^: j1 B( x# F* n8 W30、主页路径:
  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
复制代码
" ~% Q% j2 n0 A) Y0 }/ u' a
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法2 I/ r' V! v- S" s# u  I9 ]
https://www.aurrel.com/forum.php ... 17102&fromuid=1
, f, E3 a% M- u$ i$ F, v, m* z9 D; M( Z5 I- K

( r2 E- I4 k5 x2 g. |( Q) H2 X% G0 I5 f
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法4 a6 s* Y4 K$ [' o
https://www.aurrel.com/forum.php ... 17100&fromuid=1% @$ c) x5 z# e& F% q4 [' L& y% R  D
, l+ z/ r$ ?9 e! E" g' y
$ A( s) ?2 G1 D: w4 r
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦* m7 p  ]9 ~, E, z5 O
https://www.aurrel.com/forum.php ... 17101&fromuid=14 H$ I0 g. P( _# O, M  ]- e+ w- a

& }  _6 q% y, r. R: G- b& J" t. q/ V. E

, Z8 Y2 E/ b4 Q) H' g
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
) K' x! A1 Y9 b. T  ^https://www.aurrel.com/forum.php ... 17102&fromuid=1
: A# L6 }6 o' J' ~& b1 K* ^# G

  G/ f. {& P$ n% f% G* r  ?3 V# ]
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1675

主题

399

回帖

31万

积分

管理员

积分
319820
学费
275514
QQ