[PHP教程] DISCUZ技术手册

  [复制链接]
查看4956 | 回复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';! p+ _5 d: A( ^3 e) i
  2. document.getElementById('idname').style.display='block';$ t$ @4 \3 \& ~. V
  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;
    % {: O% Q4 Y/ e: T! C  x3 [
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );  d# P" V. g) `0 ^+ c
  3. $start = ($curpage-1)*$perpage;2 i  R# I* h/ I$ e- L
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));/ T1 [. f! e4 W  V: x0 u4 e
  5. //$asklist5 D) }  X/ `  c+ S3 f8 _4 a
  6. $asklist = array();
    . L8 N0 U0 v8 {0 x/ ~
  7. if ($askcount) {. M2 N! b3 r- p0 Y( s; M
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
      u/ y" Y: W$ }# ]  u, F
  9.         while ($value = DB::fetch($query)) {7 A8 ?6 I! b( p3 x0 F( p# L
  10.                 $asklist[] = $value;. ~: B' L7 @, z) S0 Y2 L
  11.         }) Q& `) _; N. x  Y- y
  12. }
    4 D" G7 k/ C# K3 ^9 Y2 C0 {
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;6 j# `7 y; P9 L# c+ x( q, X8 P
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    8 B' g2 c4 Q5 N* u* ]
  3. $start = ($curpage-1)*$perpage;
    ! Y) w/ N, J) t, h3 U
  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 != ''"));
    2 _+ }+ }1 U- W% `8 v) D- N6 Q
  5. //$alist; `* I5 `" m/ C8 ^6 o
  6. $alist = array();
    6 h' a" l9 Q# ?$ R2 G
  7. if ($acount) {
    5 T6 |2 d4 B7 ]% e
  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");
    " ]/ y. H  N, i' j: ]. N
  9.         while ($value = DB::fetch($query)) {2 M. ]$ B! [) P+ w8 n& \5 X
  10.                 $alist[] = $value;! e' x0 l. ^$ g
  11.         }
    - b# c; V2 Q0 Y& o
  12. }- m7 _1 V  p+ ]6 o' P$ E- j  ^* [$ `
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->! s* n; c4 S9 O
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    9 c: ?: J8 A- b- P7 u9 T. A% K" ~
  3. <img src="$tupianfm"><br>$value[authorid]
    ' L' d& y  G0 F$ ^
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    . ?- W8 o( j1 p" d7 d& C( I0 ~
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    7 b& O3 t  g( h' z6 h
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    - h4 O) V% V8 ~: r7 R
  2.         $setarr = array(# |. y5 o5 d0 _% u# W! I
  3.                 'tid' => $_GET['topicid'],
    3 r0 Z! R: }2 ?4 A  U( w
  4.                 'name' => $_POST['name'],
    : {& j4 c, C! t4 o$ {5 T$ D
  5.                 'position' => $_GET['position'],  {' w- S# v& P2 l
  6.                 'dateline' => $_G['timestamp'],
    5 Y2 H' t! E5 o8 s* F  x8 ?
  7.         );
    - y6 z' _0 B  f) ~1 Q
  8.         DB::insert('abc', $setarr, 1);- T2 m; M$ {4 P8 G
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
    & y8 J7 P) I$ ?$ ?; t
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");/ U% d$ y$ }* J8 `, s
  11.         showmessage('成功的提示信息', "跳转地址");
    ; K1 S' T+ g) u8 l' I+ F/ b/ w0 \
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">' @" j. W) o" e7 D1 Z- G& |  j
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    8 D0 f9 `4 [" s
  3.         最低奖金:<input name="qi" type="text" value="" /> " l( l4 s! T' R) ?
  4.         最高奖金:<input name="end" type="text" value="" />  7 T* h! I' A2 {1 Q* [. i: C: Y8 p! }* V
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>( Q" Z0 T; _5 s$ L5 v$ p3 e% M
  6.         <input type="hidden" name="tijiao" value="true" />, P. t0 e0 Y' F8 r7 C! g% |
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  201502127 W/ M7 a. C0 r5 `% T2 h
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化8 y/ f& g; u; }& y* z+ g
6 E0 E/ D8 s8 {# z% ~  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");}-->0 ], F: @0 M- h. e
  2. <!--{loop $slides $slide}-->
    ! `" p1 M; |/ ^- x6 l# B1 L1 ^
  3. $slide[name]
    7 \+ ^0 B* O: P% d' Q
  4. <!--{/loop}-->
复制代码
ucenter无法登录:
8 J9 q& L3 Y9 _; b1 p: l7 s/ x8 f打开uc_server/model/admin.php  A  [, ?6 i5 U* V
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    : V2 L) S2 G. f
  2. var jq = jQuery.noConflict();
    * n: u% y4 |) n9 X
  3. jq(function(){
    : E% L8 o& m- C# F
  4. jq("#changemenu>li").mouseover(function(){
    ) g1 D) x3 W  K) J! |
  5. jq("#changemenu>li").each(function(i){ 6 s- q3 Q, l' m, z+ ?/ K! Z
  6. jq(this).removeClass("current"); : U8 q1 }: \6 h2 C: A' ~
  7. }); 6 T/ z+ l( T, d7 e3 M2 X& Q
  8. jq(this).addClass("current"); 7 |4 F) W& L! S! r% A
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';$ y- I; u7 f6 M+ U: S; U
  10. }).mouseout(function(){
    # o8 O) X& S% B0 v* Q8 k
  11. jq(this).addClass("current");
    ( z' k& G% f2 d, b/ Z
  12. }); " G, [8 ?9 x' v$ z
  13. });
    / ]3 ~5 Y# e) @% q6 j- g5 I# J4 o
  14. </script>
    9 d3 Q) }  c3 ?* r8 R" k
  15. <ul id=“changemenu”>4 x3 K; d5 M* i" k/ \
  16.    <li class=“current” dataid=“1”></li>
    2 e7 n/ n  \+ t. t
  17.    <li dataid=“2”></li>! e- u" m8 x  F0 @6 q) D$ P
  18. </ul>
    + v0 k+ }3 @5 X& o) E  `
  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";}';  h! B+ O, Y. a
  2. $newstr = str_replace("\","",$str);
    - J1 S( n1 K: F2 R' _
  3. $data = unserialize($newstr);
    8 `: x. u  V) R6 Q" a( S
  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>9 G* c9 D: q/ t: B% x
  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>
    1 B( A* H7 k' J' M
  3. <div class="list">; u: I# k1 A1 c+ n/ W2 K: [
  4.         <ul>
    $ c2 v8 p9 A; s) }+ Z8 L
  5.                     <li>dz班班学院</li>
    : _7 i% ?9 W# g6 J. _) t/ k
  6.         <li>dz班班学院</li>
    - y3 Q' X! L- i, `
  7.         <li>dz班班学院</li>  \- r# O1 J) `0 e
  8.         <li>dz班班学院</li>
    : A, H+ ?7 m0 F# R1 ]- G' [
  9.         <li>dz班班学院</li>
    / \8 f3 F5 [: ?% |. C
  10.         <li>dz班班学院</li>
    ) o. g% O  ?! D+ `' B# Y( S
  11.     </ul>
    5 ]- G3 X6 V0 K4 p- \( r- X
  12. </div>4 [" r6 u! N. D
  13. <script type="text/javascript">2 k9 t# r) c7 i6 a! i. K
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');0 t0 d- z' j4 E9 g
  15. </script>
复制代码
常用词汇
  1. select 选择
    # m, d1 C: u  T& J5 g( n2 U0 A
  2. count 总数# J# U" p+ ?  J, L6 d
  3. table 表
    ! L, J3 E, E1 G; ^2 a, X
  4. where 条件8 {$ V# n/ }4 V
  5. result 结果
    6 l$ B% R2 W- c( N. w$ B2 ?' q4 z
  6. perpage 每页) {- A# P) ]5 g( Z, X3 P
  7. curpage 当前页
    " O1 T- j) `" ^1 N9 p3 E
  8. update 更新
    , T* f# a9 ?& [& H
  9. delete 删除+ K1 ^; @; ?9 Q, n. r) ~6 n6 U
  10. insert 写入% W4 I5 y  U( z; N/ ]  A- v$ W
  11. dateline 日期1 C& ?  Z( B3 i
  12. time 时间
    8 v3 Z+ T5 J( w
  13. echo 输出   <?php   echo '123';   ?>" Y* X4 F& L, \- q% K- F
  14. multi 分页函数+ K& J2 t6 X# T; Y
  15. if 如果8 N+ W! k$ c7 F8 Q$ U
  16. else 否则0 D+ `+ A+ w# t6 R/ A2 q
  17. elseif
    ' {/ I" H5 C1 R5 Y$ I
  18. start 起始) U5 K8 U% ?" y5 Z8 o5 d8 V$ _
  19. limit 限制  limit 10- C& X8 _& |- c; b
  20. DESC 倒序
      B3 E8 h3 _$ M4 C5 i7 S' E! k' B
  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模板调用标签汇总:
8 J; z( I. Z+ P3 b1、调用DIY框:
7 @2 p; G0 Y5 U5 L
  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}
复制代码

, m6 |0 b) M# p. x& H, ~' A# y文章封面图片
  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]
复制代码

+ ^# b6 H$ ^5 Q! I替代对应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]
复制代码

3 o: V, W" @; a/ v16、总浏览数
  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 A, v* u$ g4 [$ ^- J! [6 O& g8 u% v27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址+ m2 U) T# Z% {! t
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
复制代码
) n* h7 K6 |( ]9 i& N' M/ u3 L
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法5 }4 ~5 }/ W7 n- D
https://www.aurrel.com/forum.php ... 17102&fromuid=13 x; h/ r: z0 z8 f& V, Z
& M4 W9 S) \) _
! A  {3 H! c* H. a% W" s
  h7 O3 U7 ~8 F5 ^" v$ v# R
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法5 }$ v1 b! B5 w
https://www.aurrel.com/forum.php ... 17100&fromuid=1# b( Y4 u9 k4 y  j

3 I  t2 S7 V+ X1 V- K$ J
4 j7 w3 V6 O0 k( O" P
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦
$ P/ L) G: b. s9 ^( [https://www.aurrel.com/forum.php ... 17101&fromuid=1
3 L% r5 V2 }( ?3 s" x8 H6 L0 r9 M! l! M
) X! R" ~  I6 V1 R$ Y

; r, L9 U0 N: q; I  j
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
: b" l. o& |0 V$ y" Z8 Qhttps://www.aurrel.com/forum.php ... 17102&fromuid=1
- f2 k) V" Q" y% B
% C) s1 U: i: q  G
* `5 e1 n8 n+ a8 l  p8 q7 ]5 M+ E: P# M1 s5 j  ]8 n
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1696

主题

413

回帖

32万

积分

管理员

积分
320922
学费
276407
QQ