[PHP教程] DISCUZ技术手册

  [复制链接]
查看2882 | 回复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';3 y3 C+ Z2 z, b: j9 @; q' _
  2. document.getElementById('idname').style.display='block';! m8 g! ~" d: r1 X" n, 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;
    ) Q: k6 E4 Z: M4 \( U3 c; V9 H
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    - u$ u5 U3 X3 C4 E" O
  3. $start = ($curpage-1)*$perpage;. p9 a% `! U' ~; N
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));
    5 Y! \3 G8 R3 ?+ `
  5. //$asklist" }0 I/ Z' M1 d* h; N
  6. $asklist = array();7 R. s7 h% _$ E% |+ H* x1 X' {
  7. if ($askcount) {
    ' k( k" O" ?2 U" f7 B1 \
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");, m+ k  o0 k, l/ f" ^/ d% z* F
  9.         while ($value = DB::fetch($query)) {
    4 S1 v% ]3 J0 y& \. W% k
  10.                 $asklist[] = $value;
    - W/ b# a+ l' v2 N
  11.         }6 M( y' {. U1 X1 e
  12. }6 n, J, a: s% v# y2 S0 S
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;
    6 n9 c! w- g6 v( p( N  b
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );  g0 b! u- C6 n  I+ X4 }1 E6 b2 x
  3. $start = ($curpage-1)*$perpage;) F# [2 i; ]0 s
  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: b. w" w2 ^3 E/ [3 U
  5. //$alist
    , `. U# C7 T4 ^
  6. $alist = array();
    2 [2 D  X& a8 ~/ `: h, f" z
  7. if ($acount) {, t& D  {. `# p
  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");; B, u. C8 L: P$ |- b' i, w
  9.         while ($value = DB::fetch($query)) {
    + m  O. ~# }: K* B
  10.                 $alist[] = $value;" b4 [. d: p0 G8 z9 Q. D% d
  11.         }
    % ^1 x# |, Y7 a8 O0 Q
  12. }
    4 o% u0 M' Z3 v- H* T" a+ V
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->2 i# j0 {0 ?3 `+ g
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->6 N+ K0 @3 o. n- T, @
  3. <img src="$tupianfm"><br>$value[authorid]. N% q# s2 A; g8 U& R* f% }
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();8 H/ p5 u! O: K* W; J' G
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    8 Z4 o9 l2 R% N1 E3 |2 K1 a
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    9 Y0 w8 E- c: s- g
  2.         $setarr = array(
    1 I% j6 F) g* x$ R) T
  3.                 'tid' => $_GET['topicid']," B/ z" _+ F: m
  4.                 'name' => $_POST['name'],9 ], M. S$ U1 _/ e7 W, ~8 j
  5.                 'position' => $_GET['position'],' k% a7 `" P( f2 n
  6.                 'dateline' => $_G['timestamp'],) M. B( v( K$ X  ^$ C2 `
  7.         );
    : y3 M6 h5 J1 N* B$ ~
  8.         DB::insert('abc', $setarr, 1);6 Z6 @4 X' Q% t! C* ~% f! n, \
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");6 p9 i7 I2 A! t/ G$ n& G
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");. `: A/ e  G# q  Y2 i
  11.         showmessage('成功的提示信息', "跳转地址");
    9 @$ _) O; O  W$ _. O  f
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">& t3 R% _9 g7 n( M0 \. g& }
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    6 C- v4 N3 y* A- R0 F$ `" g
  3.         最低奖金:<input name="qi" type="text" value="" />   ]3 _: _- b/ K- a! G) C  I( C
  4.         最高奖金:<input name="end" type="text" value="" />  / v5 i# s3 w0 z0 h; @0 p8 l$ h
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
    ) }5 g6 R. \( q: {# Q  A
  6.         <input type="hidden" name="tijiao" value="true" />
    1 V8 j3 {# `1 m8 ]7 q
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212$ t+ g! i5 ~8 q) E+ R
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化; }5 }4 i$ |% j$ @6 i' y* z5 m/ i5 j2 Y
; X) V5 w  z& M) Q& r' c3 s
调用图片附件:
  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");}-->( u5 u# ^) S% G: [5 y( q
  2. <!--{loop $slides $slide}-->
    8 }' `. G6 W$ Y* S$ n9 C  `$ a
  3. $slide[name]
    2 V4 h( f% E. {$ c5 a
  4. <!--{/loop}-->
复制代码
ucenter无法登录:
$ t; e  d6 ~8 S) O- H0 I) h% }打开uc_server/model/admin.php; `2 M$ p9 W5 ?  w0 t( ?
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    . _% U8 u! y" j- p
  2. var jq = jQuery.noConflict();5 E; o1 p) }+ r/ J
  3. jq(function(){
    ' ]4 r# Q! h( J3 \. H
  4. jq("#changemenu>li").mouseover(function(){ 1 D$ |0 {2 I6 v3 J# v
  5. jq("#changemenu>li").each(function(i){
    6 S' ?" n9 b6 S6 z$ l
  6. jq(this).removeClass("current");
    : T! e. c  _* a5 Z* n+ S
  7. });
    2 W" N# L! V8 F$ x0 u  \
  8. jq(this).addClass("current");
    ' a2 V) `* X# ^1 T  o0 b
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';8 P8 w4 A2 _  M3 s! [9 j1 R" P" O! V1 [' ^
  10. }).mouseout(function(){ / e! c8 Q# h0 t4 c0 n; @4 c$ l
  11. jq(this).addClass("current");
    / {/ ^$ y- `! G- n7 l( u
  12. }); ' G7 M( N% W0 j
  13. });  [% b; b1 W/ \" a
  14. </script>
    % T8 D& n& v& R( l4 W' Q' X
  15. <ul id=“changemenu”>
    * n  e1 r5 E3 E0 g. p# P0 o
  16.    <li class=“current” dataid=“1”></li>
    9 _- U) n/ J, K% P$ U
  17.    <li dataid=“2”></li>
    3 y; \2 P# Y9 d, l0 }
  18. </ul>, c5 ^: U. i( X7 l
  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";}';# Q% V2 W$ j7 `6 u2 i+ |
  2. $newstr = str_replace("\","",$str);: V" y+ {( K; q' i4 T
  3. $data = unserialize($newstr);
    ) ?! y: O; ^, Y6 k- ?
  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>5 k+ e8 D  t, h8 a" w! ~
  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>
    : J3 \, h7 h  i+ i9 s. O
  3. <div class="list">+ K3 a* c3 G! p( Z/ ?5 y9 b) ?
  4.         <ul>
    6 k6 b; u. A0 S( Q+ q. D2 V0 y1 s
  5.                     <li>dz班班学院</li>
    1 ^% T+ g0 X) z' z: ^: X7 G
  6.         <li>dz班班学院</li>5 d; Z6 t' G9 L0 o, X
  7.         <li>dz班班学院</li>  c2 H5 F0 K7 ?/ m: t6 D1 f
  8.         <li>dz班班学院</li>
    9 l0 h6 k. S2 |1 g$ L; \. i0 b, B
  9.         <li>dz班班学院</li>
    $ N: o/ q  V, T" @8 a( ^
  10.         <li>dz班班学院</li>( v- b3 A6 U' b4 s3 M7 f' X
  11.     </ul># G# k7 `) O" t: N) `
  12. </div>0 b' ~- a: Y7 K: ]/ D) i
  13. <script type="text/javascript">2 {( f6 `- t9 [( Z% `8 }# O8 j
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');) C+ R; |# b8 A! M2 c) H
  15. </script>
复制代码
常用词汇
  1. select 选择7 ]1 y3 }$ X  A0 P' `
  2. count 总数; e. |( {' t* T+ {2 S' L8 p% R
  3. table 表
    ! }5 b2 V3 V. |$ G
  4. where 条件
    / o8 O% Z# B" I; T$ {" _
  5. result 结果
    . ^( E. }3 q+ c2 G% V
  6. perpage 每页# \) h6 e5 }1 G: c& Y" ~7 h
  7. curpage 当前页  |' j3 I2 v# P3 a5 I
  8. update 更新
    ( E7 a! A: I0 D+ [& [( i/ I1 s9 }
  9. delete 删除! Q" J( U5 G& V5 m
  10. insert 写入+ k  m, {9 J8 i; R6 w% l) P1 p
  11. dateline 日期: Q: d/ e$ f( S8 ]
  12. time 时间
    8 q. z4 ?5 d# s( ^
  13. echo 输出   <?php   echo '123';   ?>
    , y+ W/ [3 y% g6 O% q
  14. multi 分页函数
    % r  f' H$ B9 Q2 ~4 z" k
  15. if 如果# q+ v- L! F, x
  16. else 否则  Z7 }! ^7 L# \# J+ N3 r. Z( p( z
  17. elseif 2 z3 N* R* {$ d: K6 B
  18. start 起始
      `) i6 l. z9 |. ?
  19. limit 限制  limit 10' u- }0 f8 D: Q/ A2 c
  20. DESC 倒序- s3 m2 y- Y# p, T) J" [) l' T8 A8 s
  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模板调用标签汇总:
+ T7 h* ]; Q6 M, a" V& ]; N  c1、调用DIY框:6 d' A. G6 X. X1 ?, ?0 g5 P- R; m
  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}
复制代码

$ y; C) ?7 k9 M' Z0 e1 D5 S文章封面图片
  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]
复制代码

) l9 n0 N7 K! W. 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]
复制代码
" @9 W/ ]; X' o/ B# w
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 F% b' f; F4 m, g  i4 G& [! x" T
27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址* M3 }' ?* h0 P/ S
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
复制代码
8 p) D, q2 }1 k+ \4 f
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
& f$ g5 k5 u* [; I) Zhttps://www.aurrel.com/forum.php ... 17102&fromuid=1
$ U2 D& A" z# h" T) X5 f' q4 r2 l* |+ _3 \# l
0 Z0 ^. |8 g7 b9 a) Q( p) f

2 |8 d; H  R, s  q: o3 i& k0 N& c
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法" s; Z% r# C9 {- g9 c- J7 N# Y
https://www.aurrel.com/forum.php ... 17100&fromuid=1
) H$ c7 y  c  X& q4 b! V
1 p/ R5 h7 [+ N! M
+ R2 S* m! L# q: R
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦
8 M; k) a7 {9 l  mhttps://www.aurrel.com/forum.php ... 17101&fromuid=13 @$ F' V# }! S1 e8 C
+ g( Q9 f$ G; c, D; ^" W( j" ]
0 I. |& x; ]9 L& o

+ L$ J8 ^4 C, F& _
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法: B: P+ U  ~) P5 a
https://www.aurrel.com/forum.php ... 17102&fromuid=1
# |* M. D. N4 y  F  F
6 s. M! l- |  F, y/ ^* t, b" _2 l5 g3 d

/ |9 v4 A! |7 G
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1672

主题

395

回帖

31万

积分

管理员

积分
319451
学费
275208
QQ