流沙团
discuz技术手册
2017-5-4 流沙团
登录





  1. <a href="member.php?mod=logging&action=login" title="登录">登录</a>



复制代码



注册





  1. <a href="member.php?mod=register" title="立即注册">立即注册</a>



复制代码



忘记密码





  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. document.getElementById('idname').style.display='block';



  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;



  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );



  3. $start = ($curpage-1)*$perpage;



  4. $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1"));



  5. //$asklist



  6. $asklist = array();



  7. if ($askcount) {



  8.         $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage");



  9.         while ($value = DB::fetch($query)) {



  10.                 $asklist[] = $value;



  11.         }



  12. }



  13. $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");



复制代码



多数据表调用





  1. $perpage = 40;



  2. $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] );



  3. $start = ($curpage-1)*$perpage;



  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. //$alist



  6. $alist = array();



  7. if ($acount) {



  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.         while ($value = DB::fetch($query)) {



  10.                 $alist[] = $value;



  11.         }



  12. }



  13. $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");



复制代码



前台数据显示





  1. <!--{loop $alist $key $value}-->



  2. <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}-->



  3. <img src="$tupianfm"><br>$value[authorid]



  4. <!--{/loop}-->



复制代码



取数据表中符合条件的第一条数据





  1. $app=array();



  2. $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");



复制代码



人性化时间戳





  1. <!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}-->



  2. <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->



复制代码



截取字符字数





  1. <!--{echo cutstr(这里填写参数,40)}-->



复制代码



过滤DISCUZ代码





  1. preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));



复制代码



写入数据库





  1. if(submitcheck('tijiao')) {



  2.         $setarr = array(



  3.                 'tid' => $_GET['topicid'],



  4.                 'name' => $_POST['name'],



  5.                 'position' => $_GET['position'],



  6.                 'dateline' => $_G['timestamp'],



  7.         );



  8.         DB::insert('abc', $setarr, 1);



  9.         $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'");



  10.         $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'");



  11.         showmessage('成功的提示信息', "跳转地址");



  12. }



复制代码



表单提交:





  1. <form action="do.php" method="post" autocomplete="off">



  2.         <input type="hidden" value="{FORMHASH}" name="formhash" />



  3.         最低奖金:<input name="qi" type="text" value="" />



  4.         最高奖金:<input name="end" type="text" value="" />



  5.         <button value="true" name="tijiao" type="submit">提交设置</button>



  6.         <input type="hidden" name="tijiao" value="true" />



  7. </form>



复制代码



以下两个时间格式是对等关系





  1. date("Ymd",time());  20150212



  2. FROM_UNIXTIME(dateline, '%Y%m%d')



复制代码

前者用于PHP,后者用于数据库调用的字段的格式化



调用图片附件





  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. <!--{loop $slides $slide}-->



  3. $slide[name]



  4. <!--{/loop}-->



复制代码



ucenter无法登录:

打开uc_server/model/admin.php

找到第22行的





  1. $this->cookie_status = 0;



复制代码

改成





  1. $this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;



复制代码



无刷新切换li标签并且同时加载框架页面:





  1. <script type="text/javascript"> 



  2. var jq = jQuery.noConflict();



  3. jq(function(){ 



  4. jq("#changemenu>li").mouseover(function(){ 



  5. jq("#changemenu>li").each(function(i){ 



  6. jq(this).removeClass("current"); 



  7. }); 



  8. jq(this).addClass("current"); 



  9. document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>';



  10. }).mouseout(function(){ 



  11. jq(this).addClass("current"); 



  12. }); 



  13. });



  14. </script>



  15. <ul id=“changemenu”>



  16.    <li class=“current” dataid=“1”></li>



  17.    <li dataid=“2”></li>



  18. </ul>



  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\";}';



  2. $newstr = str_replace("\\","",$str);



  3. $data = unserialize($newstr);



  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>



  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>



  3. <div class="list">



  4.         <ul>



  5.                     <li>dz班班学院</li>



  6.         <li>dz班班学院</li>



  7.         <li>dz班班学院</li>



  8.         <li>dz班班学院</li>



  9.         <li>dz班班学院</li>



  10.         <li>dz班班学院</li>



  11.     </ul>



  12. </div>



  13. <script type="text/javascript">



  14.     $('.list li:nth-child(3n)').css('marginRight', '0');



  15. </script>



复制代码



常用词汇





  1. select 选择



  2. count 总数



  3. table 表



  4. where 条件



  5. result 结果



  6. perpage 每页



  7. curpage 当前页



  8. update 更新



  9. delete 删除



  10. insert 写入



  11. dateline 日期



  12. time 时间



  13. echo 输出   <?php   echo '123';   ?>



  14. multi 分页函数



  15. if 如果



  16. else 否则



  17. elseif 



  18. start 起始



  19. limit 限制  limit 10



  20. DESC 倒序



  21. ASC 正序



复制代码



活动帖发布页面核心处理文件:




  1. source\class\extend\extend_thread_activity.php



复制代码



调用分类信息字段名称(仅适用帖子详情页):





  1. $_G['forum_option']['字段变量名']['title']



复制代码



调用分类信息字段的值(仅适用帖子详情页):





  1. $_G['forum_option']['字段变量名']['value']



复制代码
评论:
流沙
2018-04-25 11:02 回复
@JennieEr:what do you want to know??
JennieEr
2018-04-25 04:02 回复
Can i ask you about this?
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容