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

[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';
    ! ?7 W# v2 F. L3 K2 k" f
  2. document.getElementById('idname').style.display='block';
    % f2 S+ [8 N6 ^
  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;
    $ J: V( x5 A3 R8 X# D
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );
    # I: q, J- }+ i4 ^
  3. $start = ($curpage-1)*$perpage;  g: c4 T( x7 }1 U* l3 z: b
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));. o, y* v- H# t! R2 \! w6 A* F3 x
  5. //$asklist
    , R' c5 c' V4 ]8 A5 y
  6. $asklist = array();
    + Q; u: U4 D: F6 ~3 b
  7. if ($askcount) {
    ' E4 \# o8 x$ ?' m4 x9 x, N/ j5 D0 h
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");
    2 N& @) ]& P$ t9 ^, P
  9.         while ($value = DB::fetch($query)) {* @  c; ], Y$ W% ~0 r
  10.                 $asklist[] = $value;% v* N( ?5 e) Y: O
  11.         }" v+ a9 v9 g9 i) e" }6 K7 |+ Y
  12. }
    ; T) Z+ k( q5 u8 T- j% h
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;
    : v. Z6 f8 o9 N: Y" m
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );6 g3 p% u$ O6 `; C+ p, D
  3. $start = ($curpage-1)*$perpage;
    " }) y* m9 P5 ^. k- b* |1 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 != ''"));" P6 I) k+ E3 g( L  G* b' `. m6 c
  5. //$alist$ Q9 j7 M# i$ y# c% ~
  6. $alist = array();
    7 F5 r( j' w4 L2 b6 O4 F- ]
  7. if ($acount) {
      N+ O* n5 Q1 g1 O3 @7 w) D& i
  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");0 q& v7 p5 p( W3 @# E
  9.         while ($value = DB::fetch($query)) {
    , T0 H& U3 j$ h6 x
  10.                 $alist[] = $value;
    ; ~0 j: j; X5 ~$ T8 p* ~* t: i
  11.         }
    : ~. I; E0 i' M- j% q2 p! a
  12. }7 \$ n& m( |# _( B2 v; M- a5 x
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->
    ) \' g) ^0 U9 V
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    1 b! l4 E. h& A, ~
  3. <img src="$tupianfm"><br>$value[authorid]
    / k% b- b5 ~. ]
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();
    0 x  r5 X7 A/ z
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->9 D! N- r/ j8 p7 `
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {3 b1 y4 ?  @5 }( {) e. |
  2.         $setarr = array(
    & e# ?0 }4 E8 _" t% m  p; `1 ^7 ~6 L
  3.                 'tid' => $_GET['topicid'],
    8 o0 o6 p& G8 H# a
  4.                 'name' => $_POST['name'],. G, h: z1 {) u$ v9 P7 c* [# N
  5.                 'position' => $_GET['position'],
    & B0 |( n! J, T$ R2 w( f
  6.                 'dateline' => $_G['timestamp'],
    & ]# H$ I$ A8 |: l7 @( i
  7.         );
    7 l3 @, x6 h6 X  F- p
  8.         DB::insert('abc', $setarr, 1);
    , h8 T/ D5 b3 h) [
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");/ P! q& ~- c7 _8 _
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");9 M' L/ E8 k( }
  11.         showmessage('成功的提示信息', "跳转地址");+ K; }- C& G$ n: @- \+ o' S; P
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    5 R% K/ P' R! Y7 F% I
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    - G: q8 v2 p% S3 D+ B  s  l
  3.         最低奖金:<input name="qi" type="text" value="" /> " n  y& Y. Y& E4 Q9 Q
  4.         最高奖金:<input name="end" type="text" value="" />  
    ) k; r' H6 q1 A4 F+ z5 r0 ~
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>
    / A& e1 ?+ M: f8 \' r2 Z
  6.         <input type="hidden" name="tijiao" value="true" />2 G" L- s9 S* g2 N( Y: _  ~/ u
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  201502122 z: Z8 C- F, \2 o1 i4 ?- h
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化
& P+ x* ^0 m" ?! Y: H: P( N2 M0 ], k  u# _
调用图片附件:
  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 D# E( |' R6 n
  2. <!--{loop $slides $slide}-->, o/ V5 G6 d# ^! ]. @8 u/ R) h
  3. $slide[name]
    ; i/ q. f% A: i  N% H
  4. <!--{/loop}-->
复制代码
ucenter无法登录:
2 {( Y* X2 T4 `7 T: n3 B) E打开uc_server/model/admin.php6 `7 e; ]( A& n! d; I6 Y% j2 u
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript">
    4 y4 l8 k0 L; G& R/ t' E% V* [
  2. var jq = jQuery.noConflict();
    ' ^( t% [9 Q. }4 q9 S& k( j6 a
  3. jq(function(){ 3 C+ V3 b3 ~0 R" U2 K; O+ l! C
  4. jq("#changemenu>li").mouseover(function(){
    1 L, i$ I+ B6 ~
  5. jq("#changemenu>li").each(function(i){
    ; t1 S. H( q3 E+ J2 W" \: Z
  6. jq(this).removeClass("current"); " g  N! j; `1 o! x
  7. });
    2 X5 P2 ?4 A: ?, H0 e* S5 D/ ~2 K( U
  8. jq(this).addClass("current");
    5 y! ]0 \* ~+ n# d
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';  m) _6 a6 H* s$ i5 A# b* D7 e
  10. }).mouseout(function(){ & I4 ]. i; V; W3 ~* R
  11. jq(this).addClass("current"); + J, ]  ~" c8 ]& h& H/ O/ F
  12. });
    / {1 w# B1 e0 `$ a$ T4 B
  13. });
    % ]* |3 Q6 S! }. R
  14. </script>: J) A: Z1 b: j6 j4 ~1 i# p: X$ z) h
  15. <ul id=“changemenu”>" C( m' w- B; ^/ Z) \# l5 _- ^6 [! x, {
  16.    <li class=“current” dataid=“1”></li>
    2 h* a+ m1 r5 g& ~8 E( m! r1 ?
  17.    <li dataid=“2”></li>
    5 P7 C0 r8 u. o2 F* ^& X) W
  18. </ul>
    6 r' V# o9 ~; a; y$ R0 N2 T0 D
  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";}';
    # B6 a" Q4 g+ E& m- z5 R! b1 B
  2. $newstr = str_replace("\","",$str);
    + @3 ]$ r/ q' K; L. q' j$ Z
  3. $data = unserialize($newstr);) \; ?1 @( V: Q  Y; W; A; @" X
  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>* @: R, C; ?& I6 `3 I# L  |7 |$ _/ V
  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>' B4 Z5 B5 R7 B# O7 z
  3. <div class="list">
    - C( P0 @5 Y/ D+ Z8 g6 F: m, Q
  4.         <ul>8 w: E4 a- n9 m, _: Z  m
  5.                     <li>dz班班学院</li>
    2 W4 S. z. K& u# e
  6.         <li>dz班班学院</li>9 a  P+ r" ^* M6 V; R" }' q* m  ~
  7.         <li>dz班班学院</li>
    ! k) }, J8 n: S5 d+ U3 J' R
  8.         <li>dz班班学院</li>
    / Z  ?+ R$ e2 M" N
  9.         <li>dz班班学院</li>. {7 a. ?: z8 g# R0 U) u9 W/ m
  10.         <li>dz班班学院</li>
    , b& l+ y% {6 x5 z: F% V
  11.     </ul>0 \/ g1 ?/ M3 Y
  12. </div>4 K3 i, l: H/ x+ f( M
  13. <script type="text/javascript">; D6 L9 F$ _# J$ l
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');
    . [+ Y6 H# l) G- Q  c& n
  15. </script>
复制代码
常用词汇
  1. select 选择9 b# K) R& Z1 G( Q3 C
  2. count 总数! C! I5 x6 @% N. r
  3. table 表; C$ B' B" `0 I( z% t  s% h
  4. where 条件
    ; p' D( R$ J6 K& {
  5. result 结果) u2 k3 p0 J( r: s& @
  6. perpage 每页7 b  t9 r. j6 m. T
  7. curpage 当前页; @; x" L5 g! }, E7 b
  8. update 更新
    8 {2 M9 J. f! a1 K2 ]
  9. delete 删除3 U5 G6 x3 h( L# a" j
  10. insert 写入! t7 f; [7 ]& h
  11. dateline 日期' }  g8 Q) _4 H; S7 C
  12. time 时间0 G; A9 [' E5 P; M6 x8 ^8 q7 @
  13. echo 输出   <?php   echo '123';   ?>6 x  a/ O* d0 R* V- G3 d
  14. multi 分页函数
    : }" m4 q6 U6 Z2 I( G8 ^# F
  15. if 如果
    : P+ f( K$ U$ j- p( m- a& L
  16. else 否则
    " G4 M) f# A2 ~+ I% u8 \
  17. elseif 0 W- j) x6 N$ C! r  ^
  18. start 起始
    6 l/ J, V$ w( v: O
  19. limit 限制  limit 10$ O) m) l1 ^" q) [
  20. DESC 倒序6 O5 p. ~) Z" O) ]# w6 }  f1 V
  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模板调用标签汇总:
/ @& y. F6 S) U0 m' v1、调用DIY框:$ b" ?0 `# V& I: J6 H
  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}
复制代码
: o( {( U3 J  n# I0 }
文章封面图片
  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]
复制代码

/ Y: F1 k) B- L替代对应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]
复制代码
" g+ |% g8 A, @* }- [" K
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]5 Q. H: [# Y  f8 u
27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址( k5 A6 ^/ m. _8 t5 H
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
复制代码

9 W. p( K) S; i' @  q

最近浏览会员:

  • 北极孤星
    2021-03-24
商乾电商学院,中国最大的电商资源交流基地!

精彩评论4

北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:08:46
Discuz“密码错误次数过多,请15分钟后登陆”解决方法0 `; Z9 ^8 `/ m  B
https://www.aurrel.com/forum.php ... 17102&fromuid=1
9 E6 z1 J( u: t; `+ |: u( ]% M) O
6 d$ F: ]; n" w: g0 O$ c& Y! B8 \, ^8 g. `7 l( E

. ^% u% f2 q" k
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:21
DISCUZ论坛做网站轮播图方法
8 s1 k  k0 A4 s0 k, l* b' x" ^https://www.aurrel.com/forum.php ... 17100&fromuid=1% f/ t+ {# B6 X) e
* T! E- K. l0 u

. I* \7 k9 `2 C: y
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:37
DISCUZ模板制作实用代码集锦
# Q3 }8 y1 F% S. b1 N: D0 ahttps://www.aurrel.com/forum.php ... 17101&fromuid=10 [: E: L# m  u/ v8 ?6 Y

' ?& O( b3 D0 J0 h. l
3 N; e! p9 M! {% J" \7 t. Y+ n1 W1 q
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:53
Discuz“密码错误次数过多,请15分钟后登陆”解决方法5 n! X1 u. I8 e: _% `) |
https://www.aurrel.com/forum.php ... 17102&fromuid=1$ w. n/ t; g" K: F
  B) ~0 \) ~( F: Q6 R4 m- z3 ^
1 |6 a8 x0 G. k7 f( R( n# t
$ `; }( \3 [; g- j: q
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

  • 微信公众号

  • 商务合作