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

[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';
    2 ~% o! `7 b4 e/ q, ]7 i* h
  2. document.getElementById('idname').style.display='block';" R9 ~/ r* G$ u" P5 z. R/ H& k) O
  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;& N( k7 {8 a+ l6 t
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );% y; Q3 z% O- k& L8 F
  3. $start = ($curpage-1)*$perpage;% K2 x  T/ |; }- C
  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));
    # t( W* U+ n* C7 O
  5. //$asklist
    % C7 u7 ^5 q* @5 C5 b
  6. $asklist = array();
    ) n& j( {0 f& V, W2 q. c5 w
  7. if ($askcount) {
    : `; X. u3 P) D
  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");# s2 \6 Y# \0 k
  9.         while ($value = DB::fetch($query)) {
    2 ^' p) L6 Z* g/ C  U; x' x
  10.                 $asklist[] = $value;
    6 P# o4 ^4 g0 r; ^4 o. q" O9 G
  11.         }
      W3 \8 `- D% U, E
  12. }. Q3 q! [. l( I( C3 _5 V
  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
复制代码
多数据表调用:
  1. $perpage = 40;/ q8 ^  D: C! L( C# }* V! R/ i
  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );6 v0 R; e4 k% a9 D
  3. $start = ($curpage-1)*$perpage;
    ( a2 Z5 C! \' B' c! K: G. J
  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 != ''"));% I' I0 b4 C: _3 p1 I( l6 k/ z. V* G
  5. //$alist4 s; t$ l. O: _, Q0 u9 X
  6. $alist = array();
    # R; y1 f6 i! s# F3 a
  7. if ($acount) {+ a% ~" ]: y& S
  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");
    % h# ^3 ]- p% R; N4 L# u4 _: E6 J- f
  9.         while ($value = DB::fetch($query)) {' K  A/ ]( }' Q
  10.                 $alist[] = $value;
    $ s7 J$ }$ N8 _0 j
  11.         }6 p- {8 v6 c' |
  12. }
    ; W- n6 f2 j1 c4 X% ]8 P' }9 T
  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
复制代码
前台数据显示:
  1. <!--{loop $alist $key $value}-->" d; l" m5 K, V  I9 C
  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->
    ' i$ b0 W) a9 _- Z# d6 R" h
  3. <img src="$tupianfm"><br>$value[authorid]! |1 g6 X; U4 B9 x$ ^; P5 s/ @
  4. <!--{/loop}-->
复制代码
取数据表中符合条件的第一条数据:
  1. $app=array();8 [5 R6 q2 d- j; I
  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
复制代码
人性化时间戳:
  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->" K1 @1 c' d+ q+ n# Z& U0 @
  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
复制代码
截取字符字数:
  1. <!--{echo cutstr(这里填写参数,40)}-->
复制代码
写入数据库:
  1. if(submitcheck('tijiao')) {
    / X8 m: F) z( j; \+ n. d
  2.         $setarr = array(% X! ?# J+ U5 a1 K2 j) ~1 D
  3.                 'tid' => $_GET['topicid'],
    ( k, Y& p% X5 U; G" r0 s
  4.                 'name' => $_POST['name'],; [6 g! S2 `$ ^' t) X% V: t/ f- x
  5.                 'position' => $_GET['position'],
    / L. \! b* I: q
  6.                 'dateline' => $_G['timestamp'],
    8 t% n0 L) y4 e* M3 g4 k
  7.         );
    & r* S; [  o) d0 s1 S1 w: V$ b
  8.         DB::insert('abc', $setarr, 1);
    & P" I# A2 O" h) |6 T9 V/ Y
  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");9 x1 c" y, q+ J% X
  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");; G* N! s4 Q5 V( \) t. U7 ^
  11.         showmessage('成功的提示信息', "跳转地址");. K- R5 F" g; `: J, ~1 L, B
  12. }
复制代码
表单提交:
  1. <form action="do.php" method="post" autocomplete="off">
    5 `! U5 l* h: ^
  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />
    ' r- z. \+ g+ k6 i' B
  3.         最低奖金:<input name="qi" type="text" value="" /> 8 C' ~+ O. X/ [. {3 G, W
  4.         最高奖金:<input name="end" type="text" value="" />  , `& v' a7 H6 T; q: `& E9 H6 H2 @( q
  5.         <button value="true" name="tijiao" type="submit">提交设置</button>9 [( i7 W# D# |
  6.         <input type="hidden" name="tijiao" value="true" />
    " d. Y; X6 r2 o/ I; t( g
  7. </form>
复制代码
以下两个时间格式是对等关系:
  1. date("Ymd",time());  20150212
    1 x. z4 O6 B9 T8 ?1 V3 t
  2. FROM_UNIXTIME(dateline, '%Y%m%d')
复制代码
前者用于PHP,后者用于数据库调用的字段的格式化
! L' ~& d9 g; c2 {3 R) s! a% a6 e8 u* T2 g
调用图片附件:
  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");}-->
    + W5 O! e( b0 D8 p  u- y9 X' n" i
  2. <!--{loop $slides $slide}-->
    - o5 G0 a6 t( s/ ~
  3. $slide[name]& d& @- R" i0 c" i, b; u
  4. <!--{/loop}-->
复制代码
ucenter无法登录:2 F4 V' }  \. t) L/ W9 F1 _
打开uc_server/model/admin.php1 P3 l! f) e6 }+ D7 y1 T+ z
找到第22行的
  1. $this->cookie_status = 0;
复制代码
改成:
  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
复制代码
无刷新切换li标签并且同时加载框架页面:
  1. <script type="text/javascript"> : o' g4 s; }. P- w4 K- a3 H
  2. var jq = jQuery.noConflict();
    $ n8 V- E, `" I2 M
  3. jq(function(){ 7 M& t* k0 I# ]' L# K2 \
  4. jq("#changemenu>li").mouseover(function(){ 2 Q" a3 j# x0 y/ y* b& f' v+ E
  5. jq("#changemenu>li").each(function(i){ - B0 y& {  R. l& X4 @# D( p2 o
  6. jq(this).removeClass("current");   W) W+ ~4 \5 ^2 V9 }" a
  7. });
    % J) Y/ F, u; j9 v! i
  8. jq(this).addClass("current"); 4 p- I" g# Q1 }/ M2 d
  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';1 E9 ?- t0 K& H( m
  10. }).mouseout(function(){ , i$ `8 I) Q" }! @3 U# c& ^
  11. jq(this).addClass("current"); ( Y  t# s8 q7 u: k& p3 ]9 v
  12. });
    # ?. M* M& [" o0 {
  13. });+ Q, W4 i2 p' b8 O) Z
  14. </script>3 D( M' G4 }; ]  j: L- H3 t& i+ J
  15. <ul id=“changemenu”>9 d8 T& E1 L: \; E5 X# P
  16.    <li class=“current” dataid=“1”></li>* O; R+ K8 C5 D# X
  17.    <li dataid=“2”></li>
    - f/ d; s8 a! {( p7 M  ]
  18. </ul>
    8 A% ~* `! j) n
  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";}';
    & m9 G5 x/ v- E
  2. $newstr = str_replace("\","",$str);7 g4 ~, }6 w% x1 G' f* m- g
  3. $data = unserialize($newstr);0 R% [9 w3 N7 ]1 @
  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>
    ' b! e6 ^" V6 x  n7 h
  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>
    ' ]& f& f& V$ M& V
  3. <div class="list">
    5 x8 L9 H, v1 y! \* d( H# j; t
  4.         <ul>. v6 l# r2 K. J! \; q
  5.                     <li>dz班班学院</li>
    / C, [% N$ j% B: a
  6.         <li>dz班班学院</li>
    * e* z$ z& d, |; S5 M' c. E
  7.         <li>dz班班学院</li>
    ( v2 q& P7 p: p4 W. N
  8.         <li>dz班班学院</li>
    ! v0 |' X! W6 F
  9.         <li>dz班班学院</li>( |( i, [  B" M- c
  10.         <li>dz班班学院</li>" f, u3 u4 ]' f  F8 s
  11.     </ul>4 l" m1 n$ S* ?. e: I
  12. </div>
    " z# X2 K/ v5 G3 P' c4 f, g
  13. <script type="text/javascript">3 F$ A: k/ h1 ~4 o
  14.     $('.list li:nth-child(3n)').css('marginRight', '0');( B. Q. T; X4 c, D) ~5 b2 [) p
  15. </script>
复制代码
常用词汇
  1. select 选择9 Y7 X9 c( g8 ~# e  g+ c/ L
  2. count 总数1 n9 k4 A& Y2 D+ F9 k# H
  3. table 表
    - s9 H: c2 Q5 s& F
  4. where 条件6 w* c! ~! }5 W6 H7 f
  5. result 结果# Y6 ~# ]4 F0 ]1 H. d) i
  6. perpage 每页3 R( D( R/ z) [$ B
  7. curpage 当前页
    - g5 N% e" j/ H& y) D, w
  8. update 更新: f* o, B; m) f3 c1 v
  9. delete 删除0 ^. M+ \2 L& R) G1 Q
  10. insert 写入9 B# s5 x) R" w1 e: o$ ]# {
  11. dateline 日期
      j' E) L  A4 y6 f
  12. time 时间0 ]& w: H, _+ q
  13. echo 输出   <?php   echo '123';   ?>
    7 t: N* g2 ~6 C# F) `0 r7 M$ Y% F( W
  14. multi 分页函数. D+ s4 x3 K; K8 S$ c$ n, k/ N
  15. if 如果6 u; b( @- J) F3 M& w1 R' S; C
  16. else 否则
    2 p( g+ S! B+ o! ?: x5 G% c
  17. elseif 6 `  ]5 a; n& D( ]) i( n! q
  18. start 起始: P& D* [  T4 N* M
  19. limit 限制  limit 10
    : t1 z/ h1 p/ X! l) ^
  20. DESC 倒序
    " v9 k  q! D2 f2 ~* s$ i' 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模板调用标签汇总:
  p* ~6 V2 d, ^, n' s# Z8 v1、调用DIY框:+ F* J  u3 M: D
  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}
复制代码
* Y6 r& v$ Z4 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]
复制代码

; K% j8 `# f6 T0 c8 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]
复制代码
/ G0 p7 x! J( U+ D
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 l3 G6 H( P; \& w# _; i/ _27、网站网址:
  1. $_G['setting']['siteurl']
复制代码
28、网站名称:
  1. $_G['setting']['bbname']
复制代码
29、<a href="$_G['setting']['siteurl']" target="_blank">$_G['setting']['sitename']</a>
打开当前网站的网址& o6 s' ?3 q1 {# j6 U8 P
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
复制代码

! v% P  _+ R3 O& L

最近浏览会员:

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

精彩评论4

北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:08:46
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
; y# Y) v# ]  o3 `https://www.aurrel.com/forum.php ... 17102&fromuid=1
8 j9 O* N$ V: {& O, A
- m, h, C- L0 \3 }8 M: f/ F) a0 c5 {' A/ b
4 L# K5 C7 r3 I
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:21
DISCUZ论坛做网站轮播图方法% o+ [, r9 [. p
https://www.aurrel.com/forum.php ... 17100&fromuid=1
! t  V! g6 W) d* D4 t/ p  a1 a- ?, @, F* ^* W, J- _( `& ~

  ~! w2 m6 R5 v+ r: ?" W8 U8 X
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:37
DISCUZ模板制作实用代码集锦
- G" H: L7 J, }! X9 }- z% Qhttps://www.aurrel.com/forum.php ... 17101&fromuid=1. ?0 Z! c1 ?5 {+ g8 h

. p3 K2 H# e& |  r% L( O3 U9 R6 q' c8 I) }9 z( X) M

2 A# ~+ u: U: A. ]+ g
商乾电商学院,中国最大的电商资源交流基地!
北极孤星的泪 显示全部楼层 发表于 2021-3-11 10:09:53
Discuz“密码错误次数过多,请15分钟后登陆”解决方法
! q* g4 L$ C* E8 o4 T) jhttps://www.aurrel.com/forum.php ... 17102&fromuid=1
- c. Z; m0 ^8 Q5 ^4 t+ D+ [$ Y+ t) D& P/ X: l: b' r9 o

. g7 H* Q& \* H7 M% N1 [1 l
, _& h$ {: M. W! k% U: F- v
商乾电商学院,中国最大的电商资源交流基地!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

  • 微信公众号

  • 商务合作