返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

[PHP教程] DISCUZ技术手册

  [复制链接]
北极孤星的泪 显示全部楼层 发表于 2021-1-29 10:46:07 |阅读模式 打印 上一主题 下一主题

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

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

x
登录
  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';. ?: r6 c8 m- z/ u8 y. p* P5 {
  2. document.getElementById('idname').style.display='block';6 a7 d  N% O; U1 I
  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;
    9 \  d. l- ]' V1 {( y5 f9 j
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    # u' T/ G9 W3 `) m" j: [4 ?
  3. $start = ($curpage-1)*$perpage;
    ! u8 v' \! |& p) `, Q. {
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));$ V% r+ W0 P8 P/ V
  5. //$asklist
    , d# N- \. R' R& d
  6. $asklist = array();
    ; K0 q; x4 P6 E5 P
  7. if ($askcount) {
    # `$ J+ P4 P* }% _3 F# _! C% y
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
    * T5 t. n" X3 o
  9.         while ($value = DB::fetch($query)) {
    % n! A6 m8 R$ A% L) O: {7 h
  10.                 $asklist[] = $value;
    / j. R% a3 X1 e$ t1 ?
  11.         }
    . ~4 m% u& t1 [2 d- K
  12. }) c7 D. P+ v- i
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;8 M: m4 Y% N6 I/ a! a
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );1 r' U$ S$ f3 L$ r3 |
  3. $start = ($curpage-1)*$perpage;) A, S+ m$ P+ F
  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 != ''"));7 }' D5 J6 E  \! k
  5. //$alist6 f; S' A. _  V% [
  6. $alist = array();1 e. M) |% i# E$ ~$ n2 e1 U. M: y
  7. if ($acount) {
    , I; q6 i! S, O; N$ q
  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) T, u$ w8 h( S: H
  9.         while ($value = DB::fetch($query)) {
    ( f, Q  k, O( g+ C" L1 T
  10.                 $alist[] = $value;5 J" i. K2 e. m+ K, h) E
  11.         }# {" Z- a( z! W
  12. }8 O$ r" b7 M# G9 P, j7 `+ n# L; X! U
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->4 s+ ?  W9 U- O3 u1 X5 v6 s
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    2 j2 F! [, a+ S( m( {& u: |7 X: R- _3 N
  3. <img src="$tupianfm"><br>$value[authorid]/ _2 O& a% `% j* y9 ~7 u
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    + p) k9 k; ~) U& p8 g
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    ) F9 n  o' w8 ?* d1 o$ Q+ d
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {8 S9 Z+ W9 Y$ U; _6 t' f
  2.         $setarr = array(
    * {; _0 n8 Q7 ?
  3.                 'tid' => $_GET['topicid'],7 R* U2 f5 w- m# n8 B$ s! o3 F% e
  4.                 'name' => $_POST['name'],: f0 r+ k+ K1 q5 {2 [9 a4 g& x
  5.                 'position' => $_GET['position'],
    ) Y5 J# {% I. z
  6.                 'dateline' => $_G['timestamp'],( z7 @8 V+ ?- J+ L+ T* Z$ e# f3 R
  7.         );
    - S* d" ?9 M  I, D! u: p# o# A  k- X
  8.         DB::insert('abc', $setarr, 1);+ H+ r: f, S; F& n
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
    9 V  I* w9 }/ ^5 P  x* W# \8 g
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");! q8 J" z; V' q6 `
  11.         showmessage('成功的提示信息', "跳转地址");
    ( K1 Q, a1 u' _+ [8 ?  t  H
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    % b" u, K* n) K! W4 i5 ^' W
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    . Q* J2 T4 d& M# }7 x" b
  3.         最低奖金:<input name="qi" type="text" value="" /> 9 \/ Q# v: k% [1 C  J* x: I$ B( t6 J
  4.         最高奖金:<input name="end" type="text" value="" />  6 p" W' f/ J9 w8 i
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
    . @4 q0 B8 b; w0 w, ]: `! g
  6.         <input type="hidden" name="tijiao" value="true" />
    0 {/ g4 Z+ p( g- g& Q
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212( I5 k4 g# [" V' V9 F9 y1 C
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化( v/ q6 y% `% g! q$ @
. q  y" |! Y9 k2 ]
调用图片附件:
  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");}-->
    9 a7 P. G1 F9 Q3 s! U7 ?. ^
  2. <!--{loop $slides $slide}-->1 R4 l3 v7 x8 J
  3. $slide[name]7 l  W- R  Q% D2 k7 y# j
  4. <!--{/loop}-->
复制代码
ucenter无法登录:8 n% n6 c' C3 Q$ B( T8 @! u  f# X
打开uc_server/model/admin.php
. p6 J5 p1 M$ {+ c找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    2 ~1 q% B, `# C; h, w. a
  2. var jq = jQuery.noConflict();
    * O, v: ]( y* B# z$ T1 `
  3. jq(function(){
    4 f. i8 G" o# z( m8 k6 f6 C/ k
  4. jq("#changemenu>li").mouseover(function(){
    ; h, l' m" X' `5 F# H% D
  5. jq("#changemenu>li").each(function(i){ 2 Z6 ^" c& z* D- b
  6. jq(this).removeClass("current");
    2 [$ C. |3 B7 B* h
  7. }); 7 h+ B  T! r! @* s+ A+ r/ ~
  8. jq(this).addClass("current"); 2 }0 ~; D# _# c) q
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';
    0 u5 O5 f5 ]: n  i7 ]
  10. }).mouseout(function(){
    % s1 Q+ n* t7 F. @# A: s$ J) T
  11. jq(this).addClass("current");
    # R! r5 K) |0 a4 n( e0 r& ]5 y
  12. }); 2 {) {/ j+ u# m: C% ^$ G' X
  13. });
    : b( d4 Q) ]) I7 j
  14. </script>4 F8 N- Z6 Y) V
  15. <ul id=“changemenu”>6 H7 ~2 F0 i/ s; S  ]$ X
  16.    <li class=“current” dataid=“1”></li>" H, D# D7 G1 p2 O, a1 B
  17.    <li dataid=“2”></li>
    ' w9 Z) L" o/ Y7 e! u
  18. </ul>" {/ M# z. b- G0 P& v9 ?
  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";}';  s5 P1 O* d  i0 o. z
  2. $newstr = str_replace("\","",$str);, U- q4 N0 b  a. g' V
  3. $data = unserialize($newstr);
    9 x3 @4 H7 _9 M% Y* Z" J
  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>
    1 h! c4 d: ?9 @2 k1 }' 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>
    $ a6 a4 D: [4 Z6 h
  3. <div class="list">
    , R6 B( I5 L! P* t, ?: Y
  4.         <ul>, C2 O9 Y  S8 x' B0 p4 w3 l) `& F
  5.                     <li>dz班班学院</li>
    $ k/ V* ]# ~) i& g/ s% p* w# a  n
  6.         <li>dz班班学院</li>" l/ u& ?( J# D9 w9 |' I
  7.         <li>dz班班学院</li>
    8 ]; e/ C2 k7 @6 c0 C
  8.         <li>dz班班学院</li>
    % N& L) O* K  [. {9 o" |6 J5 y
  9.         <li>dz班班学院</li>  R) Z+ x# G( O& p" C- w
  10.         <li>dz班班学院</li>! N3 ?4 {1 U! z$ B1 T
  11.     </ul>) ~6 V9 f- @- Y' N" L1 \( I
  12. </div>
    . T6 r! l* n: y! l! l
  13. <script type="text/javascript">. h( O% g. C# K' L8 s' c+ K  G
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');
    " X3 x5 |) E' Y& R) c
  15. </script>
复制代码
常用词汇
  1. select 选择) K+ {1 H7 l( W( s: y
  2. count 总数
    , C! w3 d0 M* ]# A0 I4 I
  3. table 表/ u9 Q6 m: G5 Y  W0 p
  4. where 条件' l& b5 ^5 G2 X- P9 Y, `/ x
  5. result 结果# K9 g8 u$ R4 t
  6. perpage 每页
    0 \2 x1 |- Q& f
  7. curpage 当前页, A0 W; m: y9 Z4 @
  8. update 更新
    9 Y- T7 s0 _- ^6 N8 d8 M
  9. delete 删除
    $ f* F7 G" E* m& b" S9 w
  10. insert 写入$ p# h8 g" Q* f% B/ [$ e  M
  11. dateline 日期1 p+ g+ S' ^* }- e* v
  12. time 时间5 h  ]' I% L) b. U) h
  13. echo 输出   <?php   echo '123';   ?>
    ! E9 K' K2 [& w: L& Y
  14. multi 分页函数$ ^; E6 J# V; y/ p
  15. if 如果6 P, r' Z. {) M9 J4 Q
  16. else 否则' U5 \# y/ ]4 D6 Z' t! m, v9 V3 B8 a
  17. elseif ' x. H  j; A1 K5 j" i$ |1 E" c8 x" _
  18. start 起始8 X, f; h! b6 H% |2 {
  19. limit 限制  limit 10$ w7 S1 i$ m- m+ W' C/ q4 v7 S
  20. DESC 倒序
    9 [9 B" X8 O- R
  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模板调用标签汇总:( h# O- d+ t  G+ r& P0 {" m
1、调用DIY框:
# P- T/ y# U# k1 f: y9 p$ o
  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}
复制代码
& F2 r; i5 C0 b0 l. Q
文章封面图片
  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]
复制代码
% A' c2 n* s+ s  {; L; D
替代对应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]
复制代码
6 ]6 g% B% H* U# n2 \5 P, q5 z
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]& ?% Q$ m. n, h3 B$ G
27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
9 U' e7 v: U; d30、主页路径:
  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
复制代码
# o: h( J7 s7 \. w' n3 G8 Y/ v

最近浏览会员:

  • liujunyu
    2024-03-02
商乾电商学院,中国最大的电商资源交流基地!

精彩评论4

北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:08:46
Discuz“密码错误次数过多,请15分钟后登陆”解决方法, t- K9 e7 u2 s
https://www.aurrel.com/forum.php ... 17102&fromuid=17 o$ o1 O  f% h

3 l% c0 ~6 s" o! I* `5 f, I" V; a& W
9 o* U4 \% s$ z! K# d. m# ~5 x9 N
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:21
DISCUZ论坛做网站轮播图方法7 V: e% `$ q! C, ]+ s
https://www.aurrel.com/forum.php ... 17100&fromuid=1
) k! ~& U" N" [( j) m# y' r. D9 j4 d: [
0 {: s5 z* }9 x/ x
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:37
DISCUZ模板制作实用代码集锦0 [& O5 {4 r1 V
https://www.aurrel.com/forum.php ... 17101&fromuid=11 ]! ?  r0 n" G
2 S& o0 W* |- \

/ _5 ~7 X  `4 ~2 D2 m
  o0 M% C- o- J  x, K$ j. w
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:53
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
% F/ D6 R6 y. s; ^https://www.aurrel.com/forum.php ... 17102&fromuid=1
- f! F9 \: O: _8 _
+ U, ^% l, F( {% P( z' \9 f* O9 n" c/ a; P9 Y- c

; C; e$ w* i4 I, i9 x* p
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

商乾全球电商人、电商交流学习与电商实战技术分享、电商爬虫、生活交流专业网站
  • 官方手机版

  • 微信公众号

  • 商务合作