[PHP教程] DISCUZ技术手册

  [复制链接]
查看4689 | 回复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';0 \* t) A* Q' y. Y4 Q4 I
  2. document.getElementById('idname').style.display='block';
    % U" x" N. R, ?3 t1 a
  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;4 q" N4 C* ~- P
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );! q: |+ F" Z* v- V5 x( f; T
  3. $start = ($curpage-1)*$perpage;
    + I3 _7 I+ W* A" W
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));
    9 y+ \8 z) R, c, A2 c2 D1 J3 ~
  5. //$asklist
    5 v) Z: I0 O* k+ J$ k
  6. $asklist = array();! U( k8 Q; X( O" W
  7. if ($askcount) {: w; E) m6 ]1 T8 F& t
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");+ F$ b$ d# L9 T/ P0 W+ g
  9.         while ($value = DB::fetch($query)) {
    0 o8 c/ H% h2 K$ C# ]
  10.                 $asklist[] = $value;
    : L, o' L+ ~, C3 ^' e
  11.         }
    * S. r0 j) R" l4 O0 s
  12. }6 ?7 w) Z$ O. n
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;# v" `4 M% U  r5 ?; O" B( `
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    : v: l6 Q& q1 y  u3 ]: k
  3. $start = ($curpage-1)*$perpage;
    , X4 @/ L$ }( D6 O* R
  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 != ''"));
    5 C8 B$ \: b2 [
  5. //$alist& o! Z2 x9 K; q5 C
  6. $alist = array();
    : s! g4 |% w, F% t$ x% ^# T
  7. if ($acount) {
    $ ?# _; U  g& ^6 O) }
  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");1 B2 I# o& G1 |1 Q' `6 T. o  n+ w
  9.         while ($value = DB::fetch($query)) {. U2 ]: y2 h3 r0 ?7 }; V% t
  10.                 $alist[] = $value;$ ~, N1 a  _# a: S9 W0 ^& Z6 r$ B5 X
  11.         }6 [) b1 v2 j# l& x! b1 ~; j7 I
  12. }
    : I  a, v# M, D: d: ]
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->
    6 {6 q# ~0 A$ K  f+ ^# m, k/ t: J
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    3 T2 Z: D, H8 p6 C3 I
  3. <img src="$tupianfm"><br>$value[authorid]; E3 |  _' x5 b' F& ]6 J: x+ G$ H
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    ( D+ S$ E( V$ e6 |- a
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->3 i* b# @6 m/ _: _2 p- ]. {& a
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    6 O/ A$ K6 F1 Z: U
  2.         $setarr = array(2 G2 C4 p% u  s
  3.                 'tid' => $_GET['topicid'],
    . N& E4 O" ], r5 U
  4.                 'name' => $_POST['name'],8 D; Q. H* g% `6 A  m' K9 J
  5.                 'position' => $_GET['position'],
    ; W. S( `" D7 S! v, H
  6.                 'dateline' => $_G['timestamp'],7 R: U: e) W; u$ I5 p) P
  7.         );
    # C  Z$ Q" _( P" x: v: X) \9 k
  8.         DB::insert('abc', $setarr, 1);; L- A9 G% c# g! w  T
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");
    9 u! B5 |0 {% x/ {) Z
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");; m" B6 C; w% e$ X8 |
  11.         showmessage('成功的提示信息', "跳转地址");9 w( R7 n9 `) ^- O
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">* x, \* \' ^% ?4 x0 m7 Y' ]
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />/ @. t$ y4 M. \6 G
  3.         最低奖金:<input name="qi" type="text" value="" /> 2 h0 }/ v  a. C% F, z' \
  4.         最高奖金:<input name="end" type="text" value="" />  
    ( o- V+ t+ n3 D( M- c  Q
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>7 ]) _" o8 x( {
  6.         <input type="hidden" name="tijiao" value="true" />
    * Z- L0 c3 x/ B/ h
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212! E4 `$ i# N% C/ a
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化4 P+ X8 ?5 E& i: B3 G1 c4 |

, |; U  ^' f7 k调用图片附件:
  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");}-->+ \& o; D/ v# a
  2. <!--{loop $slides $slide}-->
    7 x. S9 t' K& I* R3 }8 a$ a
  3. $slide[name]
    : K1 C/ Y1 w3 n% u& e  l: }
  4. <!--{/loop}-->
复制代码
ucenter无法登录:
( Z# j8 N, ~4 q打开uc_server/model/admin.php8 V& M& j' w+ ]: {  C, d; J
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    8 s( z: H4 {. [+ r0 M. N' q/ \
  2. var jq = jQuery.noConflict();
    ; Y0 o) c2 [& r/ y* m$ M
  3. jq(function(){
    7 B* I! J) @" ^% L0 P9 H' B8 f
  4. jq("#changemenu>li").mouseover(function(){
    ' k; x; H) t' f0 s
  5. jq("#changemenu>li").each(function(i){ 2 ~3 {% N1 x7 I/ S( U$ r
  6. jq(this).removeClass("current"); / B& f" ?; r$ a; e$ ~
  7. });
    2 x6 j4 T+ `) W" b
  8. jq(this).addClass("current");
    , f8 _& F- \$ y- j
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';' I3 z- b5 z. a, ?6 q) D& G
  10. }).mouseout(function(){
    # t. A# D/ \, h# d% H1 Q
  11. jq(this).addClass("current");
    1 [) Y( U$ ~  b! P9 n' z9 u6 v! _2 g
  12. }); 4 c  _2 _) G! L( M+ m, F
  13. });
    ( ^4 O+ T0 Q2 i* q8 Y
  14. </script>
    6 F% f# O! q% r$ s
  15. <ul id=“changemenu”>; J3 F. c5 J  U& w" S# t
  16.    <li class=“current” dataid=“1”></li>
    & G/ W7 O# ~6 w9 w1 E7 e
  17.    <li dataid=“2”></li>
    8 |" U; L' J' s; c4 A
  18. </ul>- t  I5 T5 {, p+ x4 Z; Y
  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";}';  f& R, C. I) t* @; k. j
  2. $newstr = str_replace("\","",$str);3 S" \1 Q6 ?9 L1 j) M
  3. $data = unserialize($newstr);% ~4 {) o# T/ Z( L4 K( [% I
  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>
    8 p" T" q" I8 E& u
  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>
    % h+ _; c7 t5 |! `
  3. <div class="list">  r9 E- h; v- r7 d' j' n5 o
  4.         <ul>
    2 I' v; y$ V7 e6 l
  5.                     <li>dz班班学院</li>8 [( R4 G9 r) z8 A" G- |
  6.         <li>dz班班学院</li>  X2 T' X: F( X. E9 x
  7.         <li>dz班班学院</li>
    " X( ?  K; l# A: ]% C% X" t
  8.         <li>dz班班学院</li>5 Q; D& Y' B* K& x# p# _
  9.         <li>dz班班学院</li>
    4 U2 N2 g( H+ A3 b
  10.         <li>dz班班学院</li>/ X* s9 G6 ^3 G9 Y: H
  11.     </ul>+ v3 r) r% T: v" t/ G
  12. </div>6 x8 Q+ A7 L* S( ~' z, E
  13. <script type="text/javascript">& W' h# c" A: P( I: _
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');* ^/ z8 M$ }7 q# _  C7 }- G
  15. </script>
复制代码
常用词汇
  1. select 选择1 _0 [5 b% s2 t8 x" K! n
  2. count 总数" `- {( j/ P- \: o( Q
  3. table 表
    3 D5 p8 }, g8 D$ [/ s5 U9 ~
  4. where 条件
    $ M7 d* ?( A& X3 K  r* i2 J
  5. result 结果
    # r0 a- ?- F! @1 A6 I
  6. perpage 每页
    ! Y0 s7 r1 Y) a' D2 Q6 W
  7. curpage 当前页2 @% ?$ _; s1 s2 e0 E
  8. update 更新6 u' s5 m: K( N8 B6 e
  9. delete 删除- g: g$ O, U7 C! L! [9 k; p# L
  10. insert 写入
    9 C) a/ ?# I% h6 S/ I8 m2 g  r" j
  11. dateline 日期0 m  U# l/ Z+ I( \
  12. time 时间
    8 D0 s  w8 `+ O* z
  13. echo 输出   <?php   echo '123';   ?>
    * U2 g  d. S2 Y/ {' `& `$ X0 e$ l
  14. multi 分页函数0 y; C* d4 P8 ?0 f
  15. if 如果- T1 e* y( f  f' u
  16. else 否则5 n0 u9 h# f$ t4 E4 k
  17. elseif 5 G# x$ K5 ]8 V5 ?! {4 T2 P# c, L
  18. start 起始  g4 A( w2 W* v5 `1 H$ k
  19. limit 限制  limit 102 Y' [* y' f! [0 W1 `9 G. \
  20. DESC 倒序/ E8 r" P* K, w9 n
  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模板调用标签汇总:& b" D$ f; u" d0 x3 H3 u
1、调用DIY框:
- R9 m3 r* o5 o% u- p
  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}
复制代码

* ?. f  o& f* O' S; x& n文章封面图片
  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]
复制代码
* l' w, B7 x2 q7 j$ [% B  E
替代对应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]
复制代码

$ K) a1 s, O7 W6 g16、总浏览数
  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 {$ q6 i1 f+ K8 z( R27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
7 z. x9 g) d" ]0 s) c1 V+ 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
复制代码

) b) _+ ?. Y! P$ Q/ Y+ ^
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:08:46 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
- v2 D$ S, ~8 k1 K. Uhttps://www.aurrel.com/forum.php ... 17102&fromuid=1
$ `" h7 a2 j+ \" w2 P; r3 ]; A, w; m! B- U) r, L8 L& E4 M9 U

) N7 o, V; |: v
( d# C1 D: }+ X2 h, m$ g
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:21 | 显示全部楼层
DISCUZ论坛做网站轮播图方法5 O! W  k+ Q2 w5 T+ n! Z, `! e% v
https://www.aurrel.com/forum.php ... 17100&fromuid=1
1 L4 Z; s3 d! I  M! o, T5 R- f9 V! i- p& ?5 \3 N: C, O
2 C9 G$ j, s. e0 n- @3 }& i+ v
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:37 | 显示全部楼层
DISCUZ模板制作实用代码集锦
; {. b# s! t4 _: |) r. u, a, a  nhttps://www.aurrel.com/forum.php ... 17101&fromuid=19 o. c1 T' ?) B
# G3 N/ ^( u6 T7 U2 v
6 k$ e9 c( ?0 X3 ^7 g; C4 G$ M8 U

' W4 z9 `7 Q& z+ ]- R, }
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 | 2021-3-11 10:09:53 | 显示全部楼层
Discuz“密码错误次数过多,请15分钟后登陆”解决方法) J* ?' H9 r4 }; X- J+ P$ U) X' I5 ?
https://www.aurrel.com/forum.php ... 17102&fromuid=1
3 K" y" {/ u& H4 s: y3 @" z( o: G/ m6 j
0 D) A! A- p# Z: w3 r
" Z( Q4 }* Q2 J0 H& @! H
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

1691

主题

409

回帖

32万

积分

管理员

积分
320545
学费
276107
QQ