[PHP教程] DISCUZ技术手册

  [复制链接]
查看2881 | 回复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';
    , H  O+ ?6 ]6 |
  2. document.getElementById('idname').style.display='block';
    / T* L. h; [; p! R, W9 m
  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;  O3 p8 Y* A' Y4 B$ ?$ [
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );; X$ g' E7 p$ {' o" T
  3. $start = ($curpage-1)*$perpage;
    & w; u3 W2 i! Z9 }
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));) S. z: j) Z* v; w0 k) i1 c
  5. //$asklist1 _& @; g( q9 j, i$ @6 U
  6. $asklist = array();( u! S$ y( E6 A- x4 w
  7. if ($askcount) {
    1 Y- h* L  p0 r8 ~* C* s. ~
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");4 o4 ~0 B  b% h* A0 }+ A6 Q
  9.         while ($value = DB::fetch($query)) {& {$ y) O7 H! I0 a" w4 [
  10.                 $asklist[] = $value;- _% U) d9 t* e" A! {
  11.         }
    , r6 B3 Z7 N# l
  12. }  Z+ k# x% l6 P: N
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;) `! o5 C! r+ O. [2 B2 ?
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    / f( m2 p+ e( [" r& f
  3. $start = ($curpage-1)*$perpage;
    2 q1 T" x/ E5 I; {- W0 |
  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 != ''"));
    , Q3 ]" `3 D1 x
  5. //$alist
    + \& k4 N8 @" _6 E+ d
  6. $alist = array();
    / E3 p4 e! g  W5 B/ A7 T: R# J
  7. if ($acount) {
    , N) @: {- |7 @+ v4 C
  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");3 K# U3 `7 \  A9 [& k( C" U
  9.         while ($value = DB::fetch($query)) {0 g$ V. \- B1 D6 m* x' g
  10.                 $alist[] = $value;
    4 ?* e0 a9 n' x2 a" C  y
  11.         }) {- h( S5 \* S. a! C# B
  12. }
    - x0 X7 }/ u8 K3 i
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->
    8 m& L# n7 ~% Y) d  \9 f' Z- G# k( X
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    & Y( X( R7 ?" a% c; X4 c. C( Q
  3. <img src="$tupianfm"><br>$value[authorid]! H+ L% T4 [4 _) O  B
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();+ O6 K% Y0 x; e# ~. {2 R& J9 e0 I
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->, B; p8 _$ V+ y# _! M& t
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    5 L4 b- _3 I  @, m$ v+ q1 X
  2.         $setarr = array(
    8 g  q: t0 I" t! l. S, ^
  3.                 'tid' => $_GET['topicid'],
    9 c4 X' [, j. T* b, ?
  4.                 'name' => $_POST['name'],
    $ K9 e9 f4 c+ P% Q
  5.                 'position' => $_GET['position'],
    2 v2 a* [4 |$ b7 }# B# z
  6.                 'dateline' => $_G['timestamp'],# k  }+ a! M6 o
  7.         );
    * J1 A" `# q- J6 q4 B* J
  8.         DB::insert('abc', $setarr, 1);2 R! s% _; O9 x* [
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
      i& A6 f9 E, }# n' \3 l7 N! O( f% Q
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");
    , \' q' S2 b1 _0 F( t+ _* Y
  11.         showmessage('成功的提示信息', "跳转地址");" i0 x, n1 C- J5 s0 i( d
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">& V& I! i( o: H+ Q  U$ h2 I/ k. K
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    ( F& r. y- w+ Y
  3.         最低奖金:<input name="qi" type="text" value="" /> . w, v  `: J' f# q8 O/ ]1 F
  4.         最高奖金:<input name="end" type="text" value="" />  
    1 L* ?: e4 L' f$ s3 k0 y$ u, U
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
    ; Q9 }, k( z& ?& j' J( Q1 ~( l% t
  6.         <input type="hidden" name="tijiao" value="true" />6 r; U' u! }5 Z- _3 E0 F( M
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    / ~" }6 G1 Z+ e' e  N- T3 U
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化
2 v/ q7 C8 z5 ~5 @5 R9 Y% V
5 T* x0 z4 ^$ T# F0 q2 `调用图片附件:
  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");}-->
    2 ~' F4 L& Y" [& [
  2. <!--{loop $slides $slide}-->
    5 F" p! L! |4 m
  3. $slide[name]* Y/ i% p5 Z/ d: v
  4. <!--{/loop}-->
复制代码
ucenter无法登录:
( x( P  F4 l% ?( a  Y$ Y" Q+ |打开uc_server/model/admin.php8 W0 Q, l1 u3 D. [6 r9 {* T
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    5 f$ P5 h; i$ y2 E* I! |( m2 r
  2. var jq = jQuery.noConflict();1 r! m) A0 g+ r8 q. \- Z; V7 J
  3. jq(function(){
    0 ?, ^1 X6 u( a$ c* G7 q  @8 W
  4. jq("#changemenu>li").mouseover(function(){
    % b: b( J% w  c: H9 z
  5. jq("#changemenu>li").each(function(i){ 8 ]9 r- Q. g& o* `) t0 U% E; Z
  6. jq(this).removeClass("current");
    8 O9 C/ A) F: a; G! C2 ~, p
  7. });
    ( X, Z7 S; A) p2 s, X$ i
  8. jq(this).addClass("current");
    - T2 D) F% \% ~2 U+ \# P
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';
    5 T8 L; a; y2 V& t2 t
  10. }).mouseout(function(){ 4 L% g& o' r, @, D
  11. jq(this).addClass("current"); 2 R# S# ?9 n: d# e- F, P0 c3 A
  12. });
    9 T. _4 p, g& S( G! X
  13. });
    * b9 H3 X) r" ?: h
  14. </script>! `5 U& Q  K1 G3 W* y6 ^+ Z: T
  15. <ul id=“changemenu”>
    1 o: ~, y% w  P0 o1 A- N' Q, @
  16.    <li class=“current” dataid=“1”></li>! T2 J7 p8 C% @
  17.    <li dataid=“2”></li>9 H" w7 M3 H9 Y- D
  18. </ul>' o) g  k3 J, P0 G, P' Z$ D
  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";}';
    ! d: Q2 _7 v" r
  2. $newstr = str_replace("\","",$str);
    4 T- Z3 [( C  E, V( y
  3. $data = unserialize($newstr);# b$ n, B$ v6 \5 V+ Z$ a
  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>, j5 ?3 {: {$ \" g
  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>
    / X  N$ D$ E9 c2 g2 B! [: Q* Q
  3. <div class="list">
    8 M1 [: V8 N3 I3 X. e
  4.         <ul>
    " b5 |; M6 s  ^6 o+ i
  5.                     <li>dz班班学院</li>( F: z0 L2 @" w4 _; g
  6.         <li>dz班班学院</li>
    * f6 ~: ~7 j) s( A! `5 g5 T
  7.         <li>dz班班学院</li>
    . _7 x  o4 g4 h
  8.         <li>dz班班学院</li>; g( Z4 @# Q1 P# ?
  9.         <li>dz班班学院</li>
    : w) H, f( o3 `, X; n  x( m
  10.         <li>dz班班学院</li>6 v$ q* P, ?( I' A
  11.     </ul>- ^1 u+ g8 E4 H, ?) f2 s% ]
  12. </div>
    , F$ K0 C& a6 d9 i
  13. <script type="text/javascript">+ W" \+ D5 v9 e6 n( r1 P
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');+ A9 U8 n% {' H7 H6 U, f
  15. </script>
复制代码
常用词汇
  1. select 选择) ?6 @4 F. q# p+ l+ f  ~
  2. count 总数8 S8 P+ C) Z5 e# B" ?% y; X
  3. table 表" P0 n/ C! w8 H% z: d0 P0 j/ a
  4. where 条件
    1 {$ B' n, @. U
  5. result 结果1 A; A' @  X! O: p  \" X9 }) ?
  6. perpage 每页. C2 t" M2 a* d/ m& j
  7. curpage 当前页
    ) e# d1 g; \. R+ w7 a( [  r
  8. update 更新4 s1 L# S$ K; w6 R6 L: x
  9. delete 删除% H. ^1 ?+ ?9 p; |7 Y, `3 [
  10. insert 写入2 H* }4 _# S. v, E- N  Y# Y/ Q% J
  11. dateline 日期
      W9 Q$ u, ?# ]$ |
  12. time 时间4 S4 i+ }- z, z! o9 h: J
  13. echo 输出   <?php   echo '123';   ?>4 U: m, d: W- Z" u8 J; O* U' t
  14. multi 分页函数
    2 Y( ^2 M: o6 _9 N9 j: ]3 k' h
  15. if 如果
    3 [' A- ^4 X7 F% o9 a
  16. else 否则
    $ a$ r* l1 k9 A5 p/ p
  17. elseif 8 {) c( t# f0 C6 s# h
  18. start 起始
    + U. E% n. ^0 y
  19. limit 限制  limit 103 D% Q6 O! i4 O$ x4 B* _+ i( {
  20. DESC 倒序" r* j' u7 z6 e( C7 @  d8 Y
  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模板调用标签汇总:2 Z3 j& G3 n% c% c  Q" |& J5 X
1、调用DIY框:
' o1 x4 W6 w" o: {$ W2 y9 r6 `
  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}
复制代码

; W5 J4 Z: v% \4 |% H- \5 V: z文章封面图片
  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]
复制代码

% @# D7 c$ C% D9 F) X3 r$ R, }替代对应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]
复制代码

$ R8 ]/ Y6 ]/ |1 P7 @3 C2 j- M2 B16、总浏览数
  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]8 w; q; I; C0 ~$ x
27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
: u* Q9 f8 V+ E1 ^& ]" ^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
复制代码
4 B7 o% j0 B" V; @6 G8 t/ R
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法7 x# }+ E6 O6 W
https://www.aurrel.com/forum.php ... 17102&fromuid=1  T$ P) N/ ~6 v  ~" P' v

* h4 }; ?( Q0 w& e
( r# d# H( I2 k3 `3 S
9 _* i: g: t' P4 q
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法
+ l, r6 K3 N3 a$ O, @# h; {$ B) Nhttps://www.aurrel.com/forum.php ... 17100&fromuid=1
9 E7 n2 P1 B7 z! z$ n) d
  Z' ]4 G3 k7 F; {
* M9 q+ M/ l# ~
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦
4 x7 s" Z4 Q: Fhttps://www.aurrel.com/forum.php ... 17101&fromuid=1
2 y* g" r/ E7 W8 I
' o, ?& Y  H) Z- K0 c$ Z6 p4 v3 j1 E- X, Q: J/ d' S0 {; [- V

8 {! V0 \: Y3 q
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
$ W/ h: [8 x; ]. ?- C! z4 u- Ahttps://www.aurrel.com/forum.php ... 17102&fromuid=1
( s1 ~3 Q8 a8 b& K3 o, |
& X: U( S4 J4 D+ [% q1 @+ R" @' @+ D8 r; J$ g* s

5 {* P! L) N4 [$ E1 `9 P9 a+ L
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1672

主题

395

回帖

31万

积分

管理员

积分
319451
学费
275208
QQ