请选择 进入手机版 | 继续访问电脑版
返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

[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';! i% i2 b: L: Q# o  @
  2. document.getElementById('idname').style.display='block';( K- I2 e( c# `7 Z
  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;
    $ x" V0 b+ \8 ~1 d# s4 ?, G
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    + G; ?) K) }; P' @% @9 X& n  I# g9 g
  3. $start = ($curpage-1)*$perpage;
    5 h, F7 C1 M: X+ H' H; N, N% F
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));
    7 Q2 O5 m( a3 i2 N9 v' r
  5. //$asklist, R; k4 f4 C) T5 Y' @; |9 z! V
  6. $asklist = array();* @6 b2 d6 A) u, q% Z
  7. if ($askcount) {8 q9 U- l* ^) m8 x& j: p
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
    1 Q7 X+ ^2 i2 N3 Q5 G- O
  9.         while ($value = DB::fetch($query)) {/ C# N3 {8 d  r! d- |) ^
  10.                 $asklist[] = $value;
    5 s4 s5 z" o8 G% h  ~7 D( P3 z
  11.         }
    - P8 U8 [/ f' l
  12. }' _6 {8 v! g2 ]$ o% U3 i
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;
      e( Z9 ]/ i% l7 Q) n0 p1 i% Y( c+ c
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    " {& U( d% F8 a$ V2 C
  3. $start = ($curpage-1)*$perpage;
    2 N  p5 k9 X! r# 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 != ''"));
    4 o7 R, Q7 \  }  V
  5. //$alist
    8 [, ^4 J/ g4 s
  6. $alist = array();% v; T- C  Q$ {( R5 q
  7. if ($acount) {& c; r# j% z" V' D5 i3 }
  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");
    9 [- s! X. N; `, v, W# [( D& J
  9.         while ($value = DB::fetch($query)) {
    + p- w" w) i  a4 C
  10.                 $alist[] = $value;
    ) N' W: g$ ~8 K8 D8 Z
  11.         }
    / \& I/ N3 E2 e  V- L
  12. }: t8 p- x  j5 K- @) ~
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->* A8 u! S6 G# C6 @; u6 y
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    ; F& f  }9 p  p" Z0 w
  3. <img src="$tupianfm"><br>$value[authorid]1 j& Q4 O0 ^* C+ ?  V) e
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    + I" y$ Q4 P$ ?9 p2 |6 K# @
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->
    - O6 }- [3 J! k' \- A- \3 ~) A
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    . A4 v9 d/ q8 l9 N0 I7 h  r
  2.         $setarr = array(
    ( [+ l& F7 p. J" \
  3.                 'tid' => $_GET['topicid'],
    % {7 D# U" ^' X) g/ c# R
  4.                 'name' => $_POST['name'],
    ' S3 n/ |3 r7 u2 ?. V
  5.                 'position' => $_GET['position'],
    " T6 N" _9 t7 X# s) F" N' v
  6.                 'dateline' => $_G['timestamp'],/ Z' b3 Y* N" F. A, R
  7.         );
    : n& H) `/ ~# \! J, c! Z9 Z
  8.         DB::insert('abc', $setarr, 1);( S) s7 p" L! U3 f; v
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");% A  M& d0 F7 p+ m* W3 j
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");& D: }; e) E% U* g% \# H) y) ~
  11.         showmessage('成功的提示信息', "跳转地址");
    ) C9 o7 o3 D- H: O. O  \. a
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    3 L7 o/ J" @' J  l  O- B5 \$ B6 X
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />/ X5 x! h+ C9 l2 A4 {1 E
  3.         最低奖金:<input name="qi" type="text" value="" /> 
    ( j7 r! Q0 [1 l" e+ T7 X2 v
  4.         最高奖金:<input name="end" type="text" value="" />  
    $ B; _5 p* E0 s4 q7 k+ \/ v0 n1 C
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>5 K& d& k# @! Q" H9 v  X
  6.         <input type="hidden" name="tijiao" value="true" />
    $ V2 h2 u9 C$ V
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    6 m) v- a3 s# t8 A1 i  {4 G: Z
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化( Z: r, t8 [. J

$ Q. O2 i9 H9 i% \6 m' E调用图片附件:
  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");}-->
    2 Y7 C. M1 O$ D0 E
  2. <!--{loop $slides $slide}-->  U$ A6 `; `9 n' u2 n' q, _" e
  3. $slide[name]
    / [+ V2 R' @( d
  4. <!--{/loop}-->
复制代码
ucenter无法登录:; r9 {+ a2 z( |! O0 J
打开uc_server/model/admin.php
7 h# W5 N( X) L) ?& Q找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    ) g; R9 a7 n/ w( s: ?. q4 \4 x
  2. var jq = jQuery.noConflict();
    $ |  S5 }( T3 ?+ I, Q& K
  3. jq(function(){ 8 i! u9 S) M1 S2 x- E/ @5 A
  4. jq("#changemenu>li").mouseover(function(){
    / r, @; B2 |5 g; r4 x
  5. jq("#changemenu>li").each(function(i){
    9 P7 ]8 X5 U0 n/ F
  6. jq(this).removeClass("current");
    , L7 k' |4 _5 ~' G) z) N+ m
  7. }); 5 O- T2 B7 J% h3 }' I: B
  8. jq(this).addClass("current"); * g  J& {% }2 c  S* r0 K; r: f  e
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';
    + L" R' x5 v5 S, _$ Q9 I) \
  10. }).mouseout(function(){ + V  J+ J7 A0 y/ q. S6 W
  11. jq(this).addClass("current"); 9 U9 y) }4 I2 L, _$ }9 @
  12. }); 6 H/ p9 Q) O9 ^
  13. });2 U. m( ]9 Z7 |1 w+ p
  14. </script>
    # g; k* A  I: G: @" s! x4 n) ]
  15. <ul id=“changemenu”>
    4 t& Y0 k7 k/ u
  16.    <li class=“current” dataid=“1”></li>
    - F6 K* c4 ]4 t
  17.    <li dataid=“2”></li>+ Q) N3 Y# I  l7 m: p0 s6 v" r- M
  18. </ul>
    ; ?8 R, J( C" P2 V% 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";}';% s, h( z* i" Y4 F
  2. $newstr = str_replace("\","",$str);9 H0 V+ j" w+ q0 s; ^5 N. W
  3. $data = unserialize($newstr);2 u, l' r, f" c
  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>
    - x/ `9 \* u) K7 I" m: S2 T
  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>
    2 L7 q6 v% c2 r7 i( s
  3. <div class="list">
    5 S. w  X" |$ d. Q9 d0 R
  4.         <ul>5 _3 ]7 A5 B$ p3 O' G5 r4 N
  5.                     <li>dz班班学院</li>9 w7 B% g: n' r" G; c; T. e4 m( z
  6.         <li>dz班班学院</li>0 E' w2 L5 `1 n  {6 f2 n
  7.         <li>dz班班学院</li>( ?. n8 H/ R  v2 C# q( p
  8.         <li>dz班班学院</li>- o# q, r! i/ T0 b
  9.         <li>dz班班学院</li>
    4 n1 `0 |' H% b5 i" q5 l9 x% K
  10.         <li>dz班班学院</li>0 @+ h/ h1 h, r7 o' m6 o
  11.     </ul>
    9 ?. b+ b. O0 w, ^3 h2 `
  12. </div>
    & N; t. Z0 Q5 f0 H6 `
  13. <script type="text/javascript">9 [) h- Y2 d5 b. f- G4 j
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');5 E  j1 _9 t# V/ I4 n
  15. </script>
复制代码
常用词汇
  1. select 选择  f. m0 E! E7 n* v
  2. count 总数
    9 p; l8 W1 Z4 F- t
  3. table 表
    4 m& ]4 s* H/ c
  4. where 条件0 R9 t8 }# _9 T- C/ ~: A7 |+ s2 G; C
  5. result 结果
    ! G5 c  u1 `2 @% K( |6 r
  6. perpage 每页& }  `7 V1 r6 `7 [7 i
  7. curpage 当前页
    * M# k; \# ]. x, S
  8. update 更新# w5 {1 U9 I: E+ S! ^( x/ q+ x
  9. delete 删除
    ! ]1 P% f" l( n" s# Y. _$ r* `  {
  10. insert 写入0 ~( D( o" y, v5 W4 L2 }
  11. dateline 日期
    / c0 P% I& ~, ]
  12. time 时间$ U9 v/ O% o/ Q8 _7 k
  13. echo 输出   <?php   echo '123';   ?>" E2 L3 L( p# R7 @
  14. multi 分页函数8 O& u2 J/ j% b: x9 _  S
  15. if 如果
    5 M2 \0 i) U' @  F
  16. else 否则
    . `3 d. t6 }. f8 ?- t0 g- w
  17. elseif & D2 \' c3 {) U( y) k1 s7 @- `
  18. start 起始" a- p. k( `6 N( w) P6 E- t: m& z. y
  19. limit 限制  limit 10
    1 M0 r) G. U. R( T2 |
  20. DESC 倒序1 [3 c; C1 o8 |5 u9 H; ~& A; j
  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 O8 v' y! g* z( J1、调用DIY框:- ]4 c$ c2 \, a5 t" f
  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}
复制代码
3 Q. d0 j5 e/ j: p3 _! {
文章封面图片
  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& p- L2 h* E+ s* n
替代对应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]
复制代码
: E2 |" t5 ?! T. ]% g
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]
6 Y# J6 Q! m; P27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址
. W# _+ [4 x/ G0 i  h0 U' `1 A30、主页路径:
  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
复制代码

6 W$ J/ q" i5 G1 ~6 V; R! \/ g2 k

最近浏览会员:

  • 跨境小队
    2021-06-07
  • 北极孤星
    2021-04-28
商乾电商学院,中国最大的电商资源交流基地!

精彩评论4

北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:08:46
Discuz“密码错误次数过多,请15分钟后登陆”解决方法3 O9 g4 W$ a, H# B0 T( M. J# T
https://www.aurrel.com/forum.php ... 17102&fromuid=1
$ N  ?8 N" Y! A+ e3 ?/ B" m9 x$ ]
) f( c0 s3 h8 k. F; z% f" t  u" y( r2 i6 u9 \( c& r: H
5 Y) @! ~- f( V: @$ J1 Z* G1 r
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:21
DISCUZ论坛做网站轮播图方法  ]! {2 n" y) S% T: {) L/ A
https://www.aurrel.com/forum.php ... 17100&fromuid=13 D2 y( T6 V8 y: R

& b) l- c7 d7 K  z0 U  ~" n* b# I$ C3 F2 }4 C
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:37
DISCUZ模板制作实用代码集锦. d! a: K; t4 ]+ i4 z) l
https://www.aurrel.com/forum.php ... 17101&fromuid=1  a3 D! z6 j0 y! L) d6 p' f# F# r% _0 N% Y

6 o+ M: k7 e6 G- e* Y3 p2 X7 Y" P0 i7 Q4 l
/ S. s4 v& e$ y/ A$ b% b: |9 P& {( V
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:53
Discuz“密码错误次数过多,请15分钟后登陆”解决方法6 ]$ O, c. R! J6 H
https://www.aurrel.com/forum.php ... 17102&fromuid=1. i" R$ w! l- f6 `
) a1 }: A6 ^1 t4 `4 {& u4 `: V

3 Y  c5 f9 d* q! m" I) Y% \( y9 l# h2 L5 h8 E: n/ q
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

  • 微信公众号

  • 商务合作