Discuz!是全球市场占有率第一的社区论坛(BBS)软件,在使用Discuz! 系统开发网站的时候我们会使用到以下列举的内容,网站开发必备手册。
登录
<a title="登录" href="member.php?mod=logging&action=login">登录</a>
注册
<a title="立即注册" href="member.php?mod=register">立即注册</a>
用户组名称:
$_G[group][grouptitle]
用户组ID:
$_G[group][groupid]
总积分:
$_G[member][credits]
忘记密码
<a href="javascript:;" title="找回密码">找回密码</a>
购买邀请码
misc.php?mod=buyinvitecode
JS跳转
onclick="window.location.href='home.php?mod=mobile&do=friend';"
JS更换class的名称
document.getElementById('idname').className='a'; document.getElementById('idname').style.display='block'; document.getElementById("idname").style.marginTop="30px";
批量替换超链接:
href="[^"]*"
过滤DZ代码:
preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));
调用单个数据
$a = DB::result(DB::query("SELECT qi FROM ".DB::table('abc')." WHERE id = '1'"));
调用统计数据
$a = DB::result(DB::query("SELECT count(*) FROM ".DB::table('abc')." WHERE id = '1'"));
单数据表调用
$perpage = 20; $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] ); $start = ($curpage-1)*$perpage; $askcount = DB::result(DB::query("SELECT COUNT(*) FROM ".DB::table('forum_thread')." WHERE fid = '2' AND authorid > 1")); //$asklist $asklist = array(); if ($askcount) { $query = DB::query("SELECT * FROM ".DB::table('forum_thread')." WHERE fid = '2' AND displayorder > -1 ORDER BY tid ASC LIMIT $start,$perpage"); while ($value = DB::fetch($query)) { $asklist[] = $value; } } $multi = multi($askcount, $perpage, $curpage, "这里填写跳转地址");
多数据表调用
$perpage = 40; $curpage = empty ( $_GET['page'] ) ? 1 : intval ( $_GET['page'] ); $start = ($curpage-1)*$perpage; $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 != ''")); //$alist $alist = array(); if ($acount) { $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"); while ($value = DB::fetch($query)) { $alist[] = $value; } } $multi = multi($acount, $perpage, $curpage, "这里填写跳转地址");
前台数据显示
<!--{loop $alist $key $value}--> <!--{eval $tupianfm = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_threadimage')." WHERE tid = '$value[tid]'"));}--> <img src="$tupianfm"><br>$value[authorid] <!--{/loop}-->
取数据表中符合条件的第一条数据
$app=array(); $app=DB::fetch_first("select * from ".DB::table('abc')." where id='{$id}'");
人性化时间戳
<!--{echo dgmdate(这里填写时间参数, 'u', '9999', getglobal('setting/dateformat'))}--> <!--{echo date("Y-m/d H:i:s",这里填写时间参数)}-->
截取字符字数
<!--{echo cutstr(这里填写参数,40)}-->
过滤DISCUZ代码
preg_replace ("/\[[a-z][^\]]*\]|\[\/[a-z]+\]/i",'',preg_replace("/\[attach\]\d+\[\/attach\]/i",'',$message));
写入数据库
if(submitcheck('tijiao')) { $setarr = array( 'tid' => $_GET['topicid'], 'name' => $_POST['name'], 'position' => $_GET['position'], 'dateline' => $_G['timestamp'], ); DB::insert('abc', $setarr, 1); $query = DB::query("UPDATE ".DB::table('abc')." SET stickreply='1' WHERE tid='$tid'"); $query = DB::query("DELETE FROM ".DB::table('abc')." WHERE pid='$pid'"); showmessage('成功的提示信息', "跳转地址"); }
表单提交:
<form action="do.php" method="post" autocomplete="off"> <input type="hidden" value="{FORMHASH}" name="formhash" /> 最低奖金:<input name="qi" type="text" value="" /> 最高奖金:<input name="end" type="text" value="" /> <button value="true" name="tijiao" type="submit">提交设置</button> <input type="hidden" name="tijiao" value="true" /> </form>
以下两个时间格式是对等关系,前者用于PHP,后者用于数据库调用的字段的格式化
date("Ymd",time()); 20150212 FROM_UNIXTIME(dateline, '%Y%m%d')
调用图片附件
<!--{eval $biaoid = substr($value[tid], -1); $cover = DB::result(DB::query("SELECT attachment FROM ".DB::table('forum_attachment_'.$biaoid.'')." WHERE tid = '$value[tid]'"));}-->
数据库循环嵌套调用
<!--{eval $slides = DB::fetch_all("SELECT * FROM ".DB::table('a')." WHERE `uid`= $_G[uid] ORDER BY `id` DESC");}--> <!--{loop $slides $slide}--> $slide[name] <!--{/loop}-->
ucenter无法登录:
打开uc_server/model/admin.php
找到第22行的
$this->cookie_status = 0;
改成
$this->cookie_status = isset($_COOKIE['sid']) ? 1 : 0;
无刷新切换li标签并且同时加载框架页面:
<script type="text/javascript"> var jq = jQuery.noConflict(); jq(function(){ jq("#changemenu>li").mouseover(function(){ jq("#changemenu>li").each(function(i){ jq(this).removeClass("current"); }); jq(this).addClass("current"); document.getElementById("changenr").innerHTML='<iframe src="do.php?id='+jq(this).attr('dataid')+'" height="350" width="1070" frameborder="0" scrolling="no"></iframe>'; }).mouseout(function(){ jq(this).addClass("current"); }); }); </script> <ul id=“changemenu”> <li class=“current” dataid=“1”></li> <li dataid=“2”></li> </ul> <div id=“changenr”></div>
快速发帖
<a href="forum.php?mod=misc&action=nav">发布新话题</a>
Discuz! JSON数据解析获取
$str = 'a:2:{s:8:\"sitename\";s:8:\"NAZ.CN\";s:3:\"pic\";s:12:\"banbanso.jpg\";}'; $newstr = str_replace("\\","",$str); $data = unserialize($newstr); echo $data[sitename];//输出结果为NAZ.CN
Discuz!云平台站点同步提示DNS错误解决方法:打开source\plugin\manyou\Service\Client\Restful.php,找到代码:
$result = $this->_fsockopen($url, 0, $data, '', false, $ip, 5);
修改为:
$result = $this->_fsockopen($url, 0, $data, '', false, $ip, 30);
LI标签列表自适应宽度JS实现代码(去除每行最后一个li标签的右边距):
<script type="text/javascript" src="jquery.js"></script> <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> <div class="list"> <ul> <li>NAZ.CN</li> <li>NAZ.CN</li> <li>NAZ.CN</li> <li>NAZ.CN</li> <li>NAZ.CN</li> <li>NAZ.CN</li> </ul> </div> <script type="text/javascript"> $('.list li:nth-child(3n)').css('marginRight', '0'); </script>
常用词汇
select 选择 count 总数 table 表 where 条件 result 结果 perpage 每页 curpage 当前页 update 更新 delete 删除 insert 写入 dateline 日期 time 时间 echo 输出 <?php echo '123'; ?> multi 分页函数 if 如果 else 否则 elseif start 起始 limit 限制 limit 10 DESC 倒序 ASC 正序
活动帖发布页面核心处理文件:
source\class\extend\extend_thread_activity.php
调用分类信息字段名称(仅适用帖子详情页):
$_G['forum_option']['字段变量名']['title']
调用分类信息字段的值(仅适用帖子详情页):
$_G['forum_option']['字段变量名']['value']
将以下这段代码复制到主题的functions.php文件中,即可实现隐藏部分用户名,实现账号隐私安全效果。 /...博文来自:站长学院
很多站长在使用Discuz! X3.4建站,经常因服务器价格昂贵而搬家出现以下报错,在遇到这个问题的时候第一...博文来自:站长学院
在开发Discuz!手机版的时候默认的首页标题对于SEO来说不太友好,现在教大家进行优化。 第一种优化标题方...博文来自:站长学院
近期,安全人员在Page Builder by SiteOrigin 2.10.15及以下版本中,发现了两个严重漏洞:跨站请求伪造...博文来自:站长学院
教你如何在WordPress首页、分类、标签、文章、页面添加关键词和描述。 第一步:在你的主题新建seo.php文...博文来自:站长学院
访问 http(s)://{您的域名}/admin 可以进入到管理后台。 管理后台根据功能模块分为“首页”、“全局”、“用...博文来自:站长学院
目录 ATTACHMENTS 附件表 …………………………...博文来自:站长学院
一、公众号H5调试开发编译: H5和公众号的文件是一样的,只是叫法不同,区别在于登录方式。 公众号是用...博文来自:站长学院
微擎数据库表 account 平台账号表(公众号、小程序、PC等) account_aliapp 支付宝小程序表 account_bai...博文来自:站长学院
据统计这是使用WordPress开发网站的企业和站长都会用到的技术手册,涵盖WordPress主题开发、WordPress插...博文来自:站长学院
意见反馈
文明上网理性发言,请遵守新闻评论服务协议
0位用户评论