Discuz怎么反回的简单介绍
当前目录列表:
1、如何编写Discuz论坛返回JSON数据的接口 2、dz删除tag如何返回404 3、Discuz中的ajaxget函数怎么获取从插件返回的值 4、Discuz 模板安装提示:"数据类型错误,请返回",怎么解决?
如何编写Discuz论坛返回JSON数据的接口
?php header,'Content-type:text/json;charset=utf-8';
define,'APPTYPEID', 5;
define,'CURSCRIPT', 'userapp';
require_once './source/class/class_core.php';
$Discuz = Discuz_core::instance,;
$Discuz - cachelist = $cachelist;
$Discuz - init,;
try {
if ,$_GET["type"] == "wdnew" {
$query = DB::query,"SELECT * FROM " . DB::table('forum_thread' . " WHERE fid=49 ORDER BY dateline ASC limit 10");
$jsonstr = "{state:10000,data:[";
while ,$soft = DB::fetch($query) {
$newlist .= "{\"id\":" . $soft['tid'] . ",\"title\":\"" . $soft['subject'] . "\"},";
}
$jsonstr = $jsonstr . rtrim,$newlist, ',' . "]}";
echo $jsonstr;
} else if ,$_GET["type"] == "getForumClass" {
$query = DB::query,"SELECT * FROM " . DB::table('forum_forum' . " WHERE status=1 ORDER BY fid ASC");
$jsonstr = "{state:10000,data:[";
while ,$soft = DB::fetch($query) {
$newlist .= "{\"id\":" . $soft['fid'] . ",\"fup\":" . $soft['fup'] . ",\"name\":\"" . $soft['name'] . "\",\"px\":" . $soft['displayorder'] . "},";
}
$jsonstr = $jsonstr . rtrim,$newlist, ',' . "]}";
echo $jsonstr;
} else if ,$_GET["type"] == "getForumInfo" {
$fid = $_GET["fid"];
$dateline_min = $_GET["dateline_min"];
$dateline_max = $_GET["dateline_max"];
$datacount = DB::result_first,"SELECT COUNT(* FROM " . DB::table,'forum_thread' . " WHERE fid=".$fid." and closed=0 and dateline=".$dateline_min." and dateline=".$dateline_max);
if,$datacount==0{
$jsonstr = "{state:10001,data:[]}";
}else{
$query = DB::query,"SELECT * FROM " . DB::table('forum_thread' . " WHERE fid=".$fid." and closed=0 and dateline=".$dateline_min." and dateline=".$dateline_max);
$jsonstr = "{state:10000,data:[";
while ,$soft = DB::fetch($query) {
$typename = DB::result_first,"SELECT name FROM " . DB::table('forum_threadclass' . " WHERE typeid=".$soft['typeid'] );
$newlist .= "{\"id\":" . $soft['tid'] . ",\"title\":\"[".$typename."]" . $soft['subject'] . "\",\"price\":\"" . $soft['price'] . "\",\"views\":\"" . $soft['views'] . "\",\"dateline\":\"" . $soft['dateline'] . "\"},";
}
$jsonstr = $jsonstr . rtrim,$newlist, ',' . "]}";
}
echo $jsonstr;
}else {
echo "{state:0,data:[]}";
}
} catch,Exception $e {
echo "{state:0,data:[]}";
}
?

dz删除tag如何返回404
Discuz帖子被删除后,再打开会提示“帖子被删除或者在审核”,这样设置后会把这个页面直接跳转到404页面。
步骤一:查找source\module\forum\forum_viewthread.php
搜索这个代码
showmessage,'thread_nonexistence';
步骤二:如果你的主机是win系统,把上面的代码替换为
header,'HTTP/1.1 404 Not Found';
header,'status: 404 Not Found';
include,'404.html';
exit,;
如果你的主机是linux系统,把上面的代码替换为
header,'HTTP/1.1 404 Not Found';
header,'status: 404 Not Found';
exit,;
这样就会跳转到你设置好的404页面了
Discuz中的ajaxget函数怎么获取从插件返回的值
插件的内容可以通过plugin.php这个文件返回,ajax要和后台的文件一起使用的,在新插件内核中,通过 plugin.php 方式访问的插件可直接通过 plugin.php?id=***:yyy 方式调用而无需再在后台定义为普通脚本模块,只要 source/plugin/***/yyy.inc.php 文件存在即可。如果 *** 和 yyy 同名,可直接通过 plugin.php?id=*** 方式访问。如果是utf8编可以直接输出中文,如果是gbk不是用json_encode编码一下。。另外,如果你想为自己的论坛短时间内发布大量优质内容,看上去人气旺,内容好,可以在应用中心搜索“dn123”获取采集插件。
Discuz 模板安装提示:"数据类型错误,请返回",怎么解决?
很多同学在安装Discuz插件、Discuz模板或disucz分类信息的时候会出现数据类型错误,请返回的问题,下面我们来分析下为什么Discuz! X会出现“数据类型错误,请返回”的错误。
分析原理:我们今天用安装模板提示“数据类型错误,请返回”的错误来分析,打开导入风格模板的代码文件:/source/function/function_importdata.php,查看其中的函数 import_styles,,其中两处调用getimportdata的参数都是固定的getimportdata,'Discuz! Style',在/source/function/function_admincp.php中找到getimportdata函数发现他会将第一个参数也就是'Discuz! Style',与模板目录下xml文件中id为Title的item值进行比较,如果不同就会提示错误“数据类型错误,请返回”,知道原理了,下面就有解决方案了。
1、打开模板目录下的 XML 文件,找到ID为Title的item项,将其固定为如下写法就OK了。
item id="Title"![CDATA[Discuz! Style]]/item
复制代码
2、一些网站在搬家后出现“数据类型错误,请返回”,很可能是服务器上PHP.INI 的 zend.ze1_compatibility_mode问题,把值修改为 OFF。
可上传一个test.php 里面写?php echo ini_get,‘zend.ze1_compatibility_mode’;?,输出0来判断配置是否正确。
解决方法:查找 php.ini 里的如下项并将其设置为off,然后重启 Web 服务 ,IIS或Apache
zend.ze1_compatibility_mode = Off
复制代码
3、目录权限存在问题,在应用中心安装插件或模板都需要对应目录有可写权限的,否则安装一样会出错无法识别数据错误。
解决方法:检查data目录权限及template和source\plugin目录权限为777或可读可写。
这样基本可以解决问题。
参考文档
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 建站教程 > Discuz怎么反回的简单介绍


