[PHP教程] DISCUZ技术手册

  [复制链接]
查看4764 | 回复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';
    9 N' Q" ~' f( B5 i- G) K, Q
  2. document.getElementById('idname').style.display='block';. L  P4 l& R& e7 p8 J
  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;% q' I2 @. X6 J
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    2 O9 m0 g; C4 D% k" U
  3. $start = ($curpage-1)*$perpage;3 P) |9 M1 ^  F) S
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));! E, ~0 f5 Y, _9 N
  5. //$asklist4 ?  ^" F; f- p' r7 L0 [
  6. $asklist = array();' l) Y% o  {2 f# U4 E2 S/ G! [* p
  7. if ($askcount) {. a, m0 ]& {" _
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");; v& ^7 i& Q6 G0 E7 l) ]
  9.         while ($value = DB::fetch($query)) {+ P5 t- ]. H6 ~5 m
  10.                 $asklist[] = $value;
    1 U- s# i+ N7 \4 z) P: ?* V
  11.         }
    + J0 i  _6 n/ I0 P$ m' S
  12. }
    3 ?/ O3 ?  Z& R% o9 _( m4 @
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;
    4 ^6 {( X# s2 a
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    9 x2 k2 E" P" J2 t
  3. $start = ($curpage-1)*$perpage;
    4 V2 \4 c0 o7 h6 w# g
  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 != ''"));
    ; f' D7 t5 P# Q, l9 _3 j
  5. //$alist  j8 X  b% o* l$ W
  6. $alist = array();$ b- _4 @0 Z) R0 N% P+ P- r& G. i& V4 }
  7. if ($acount) {/ b% I! H; Q$ D* `
  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");
    # x, Q5 @9 B1 ]. A4 G
  9.         while ($value = DB::fetch($query)) {1 U" m  }3 K3 \; {0 \. G
  10.                 $alist[] = $value;
    ! R3 A  C0 }; Z- X+ t. l. F
  11.         }- G* q) M4 m# t7 q4 d6 m
  12. }- Q# A7 V5 }* o3 {- d( W
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->
    , |4 e# d7 y; g; R6 C# \% R
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->" e" M7 p: g0 e8 v
  3. <img src="$tupianfm"><br>$value[authorid]
    ! V. y0 B8 f0 p, q
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    : p* m$ i+ l- H2 m- _; ]9 W
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    , P& N) e% s4 J4 ]7 }1 x
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    ( W4 t4 c7 P) c
  2.         $setarr = array(! ~. r. @6 Q. T7 ~  a5 |
  3.                 'tid' => $_GET['topicid'],  h$ a' B4 r" E5 p( p
  4.                 'name' => $_POST['name']," _# Q; c) e3 J9 m: K2 \  g
  5.                 'position' => $_GET['position'],* v! i; W0 }( d! E* g5 F
  6.                 'dateline' => $_G['timestamp'],
    7 S5 ?# T& P( }* ?# [! b8 y5 |
  7.         );7 V7 c6 M8 M6 V9 d3 p, G! @
  8.         DB::insert('abc', $setarr, 1);/ X, Y4 |+ n% l2 q+ c& K# ~
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
    " X5 P' c+ Z  Q5 K  z
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");
    . ~( G, C+ @, X" A
  11.         showmessage('成功的提示信息', "跳转地址");4 X5 C! q( Y* Z8 X7 J8 q; n
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">9 ]; |# W/ m# M  \( D
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    ) `* e1 V. ]- E4 h; N& V
  3.         最低奖金:<input name="qi" type="text" value="" /> 
    5 N+ M! M) H9 Q& e2 [
  4.         最高奖金:<input name="end" type="text" value="" />  
    ' Q& h5 |2 Q" z7 o2 ]
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
    , M) ?( T) M; @7 d8 x, a
  6.         <input type="hidden" name="tijiao" value="true" />3 ?, l4 m; X5 P7 s+ |! s$ }& l# j
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    - J& N+ F- B4 W. }
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化( A% I- a' ]1 H2 |) L0 }
- S' q, o# e* o$ `( y
调用图片附件:
  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");}-->
    - i+ j$ ]. @. w" t* p  P
  2. <!--{loop $slides $slide}-->
    : {# W% S, u. i0 Z8 `
  3. $slide[name]
    8 g0 S* [& s- x% [* p7 y2 ~
  4. <!--{/loop}-->
复制代码
ucenter无法登录:) V' n& S7 [8 ^
打开uc_server/model/admin.php
0 _% u2 P* |* o, w( M1 A9 ~2 g找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript"> 6 p; C( |2 K% X2 o8 [3 T
  2. var jq = jQuery.noConflict();
    : Y2 `( `$ r0 M. R
  3. jq(function(){ : \4 g: `8 D( r, N/ t! j  C
  4. jq("#changemenu>li").mouseover(function(){ & n) n' ]1 N9 a; i( x
  5. jq("#changemenu>li").each(function(i){ 9 ~1 G  A$ C& @: r* }0 e$ ~
  6. jq(this).removeClass("current"); , R6 A4 C! X' r1 h& t
  7. }); 7 b' F  i( L% K/ V. F- {
  8. jq(this).addClass("current");
    2 H; Q# K# F8 G
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';
    3 |: B4 q% u2 t+ Z0 z
  10. }).mouseout(function(){ ' @  _0 o* C. E
  11. jq(this).addClass("current");
    0 s  N6 N; T: E) P$ U& ^* N
  12. }); 0 Q: x* P) y' q4 l2 t
  13. });
    ( f9 G6 ?' I* N0 ?- Z! H$ S
  14. </script>5 p! j6 g4 t9 G/ C# N  z# u& v
  15. <ul id=“changemenu”>! K; j3 E0 K3 U' N- L! b
  16.    <li class=“current” dataid=“1”></li>
    ! q0 z, p- g/ W( n0 A
  17.    <li dataid=“2”></li>: h6 ?; ~/ D( M0 w2 X6 A" [* E* }
  18. </ul>, m, }# o) E3 t4 j$ K
  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";}';
    & B1 O; n! k3 p
  2. $newstr = str_replace("\","",$str);. v. X3 k4 P; z3 ?$ x
  3. $data = unserialize($newstr);
    / p6 T/ M( p: E9 W( B/ E' F) b
  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>. t& ?$ \5 v" d6 D( C( j2 Y
  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! Z, y2 X$ X4 S2 Y' R, B
  3. <div class="list">
    9 z( f0 q) \5 N7 H2 E4 A& T
  4.         <ul>8 [# p0 u4 R0 B1 G
  5.                     <li>dz班班学院</li>* @  L, k  J9 j' r
  6.         <li>dz班班学院</li>
    7 ~# o1 k6 y+ ]8 E  ^
  7.         <li>dz班班学院</li>
    + C7 p, o$ s- j5 w% G% V) D
  8.         <li>dz班班学院</li>0 x. n! I' n" Z6 D) |; R; O% z
  9.         <li>dz班班学院</li>0 \6 {$ J6 u1 Z, j* c3 k; H1 E
  10.         <li>dz班班学院</li>, N+ D# Q/ j( f& f2 Q" m
  11.     </ul>1 k. r8 q2 P7 K  C. k. J6 |
  12. </div>; Q! K9 `2 j9 H2 J. C2 g% O% x
  13. <script type="text/javascript">
    + E+ o3 ?, P2 T8 H( X/ Q: K+ Y, d' v
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');* M9 R1 a2 u* K: ~2 _3 x+ _
  15. </script>
复制代码
常用词汇
  1. select 选择, ^  D4 t; ~3 |6 p* u
  2. count 总数, Y5 k$ c5 o' }0 q
  3. table 表( J4 }3 M& ?1 {1 S# d% X0 f
  4. where 条件  c; ]3 X6 }: t; @! y( C
  5. result 结果) w# O! C8 k! s% F( g0 K
  6. perpage 每页
    # @0 P# x: x" j9 y6 }
  7. curpage 当前页
    - o# m% y% i9 w. i! a: J6 B1 `. p4 a! p
  8. update 更新2 B2 g/ q# W7 a
  9. delete 删除
    % \/ x  |$ X$ t/ O6 l$ g
  10. insert 写入2 Q* L. N- [; b; u0 `( J1 w9 n- i
  11. dateline 日期$ f* V  a6 ]" \- x
  12. time 时间: t6 ^3 P, U# i; R7 ~
  13. echo 输出   <?php   echo '123';   ?>7 p& G. g' Z7 H. ]% P
  14. multi 分页函数
    2 H/ P& {  k" y9 S" k( ?5 V$ D% e
  15. if 如果
    , u' @5 @9 t* H5 h4 O  Q6 `  `, d; e
  16. else 否则3 s/ Q7 Z9 L) E" ]8 ?. }
  17. elseif 0 G& w! O7 D" P
  18. start 起始
      L/ K7 a- R0 M7 }; u
  19. limit 限制  limit 10( D' M6 b7 N# a
  20. DESC 倒序  f  h! ~0 r$ |3 A
  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模板调用标签汇总:
9 Y1 s8 _- w" H! l+ _7 p1、调用DIY框:
& R8 O/ {7 L/ N! l$ d/ {8 y
  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}
复制代码
4 S9 C. J7 r. C
文章封面图片
  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]
复制代码
  R. |# D5 S! A7 J6 k
替代对应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]
复制代码
2 h# D; m* ^; x0 f# H
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]
8 Z! f' t: h2 F1 y1 Q$ I3 R& ~27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
" b% F( w$ ^7 A( j1 _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 E" B- k( G' K4 q
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
5 f$ C: h. M) l1 M, q# B/ \8 a9 m8 Thttps://www.aurrel.com/forum.php ... 17102&fromuid=1
0 ?' l& {: ~+ w5 V$ u9 O! ^2 Z2 G7 r8 \* ]! o

5 w: {' [, f+ B; ]
: w, J/ I% S3 a! w
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法
5 M# N- R" m7 g# E0 h! h8 _https://www.aurrel.com/forum.php ... 17100&fromuid=1
% U& w8 L: `7 H: K* S: v1 l0 q( k# G$ c* H5 }
& _% T: z% V" k. C- e! E3 K$ _$ e4 Q6 m
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦
; s  G5 I0 g( t, {: hhttps://www.aurrel.com/forum.php ... 17101&fromuid=17 V8 {. J7 `& q* [
6 j/ H$ c; D4 F  S
: D6 o3 Q. ?, u; K! [
' Z; U7 j7 J- ^$ ^
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
/ W/ k/ K% K. x8 `/ V; ghttps://www.aurrel.com/forum.php ... 17102&fromuid=1
8 Q8 J( |: u6 f: ~0 b# a9 ~8 ]  P% l- z9 d
+ [; O) t) Y1 i) L" A4 Y% T3 C
5 V7 b/ T# k  j9 ^  r
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1691

主题

413

回帖

32万

积分

管理员

积分
320662
学费
276199
QQ