查看 1587
回复 0
Discuz 模板开发常用代码
逆风天

16

主题

0

回帖

105

积分
发表于 2021-12-4 19:54:54
显示全部楼层 阅读模式
登录
  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.     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;

  2. 改成

  3. $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 X 3.2
DISCUZ云平台站点同步提示DNS错误解决方法:打开source\plugin\manyou\Service\Client\Restful.php,找到代码
  1. $result = $this->_fsockopen($url, 0, $data, '', false, $ip, 5);

  2. 修改为

  3. $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>学院</li>
  6.             <li>学院</li>
  7.             <li>学院</li>
  8.             <li>学院</li>
  9.             <li>学院</li>
  10.             <li>学院</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  最少10条
  20.     DESC 倒序
  21.     ASC 正序
复制代码

活动帖发布页面核心处理文件
source\class\extend\extend_thread_activity.php

调用分类信息字段名称(仅适用帖子详情页)
  1. $_G['forum_option']['字段变量名']['title']
复制代码

调用分类信息字段的值(仅适用帖子详情页)
  1. $_G['forum_option']['字段变量名']['value']
复制代码

后续再补...

您需要登录后才可以回帖 登录 立即注册
QQ 快速回复 返回列表