dedecms后台,添加文档打开空白
不知道楼主具体情况,我列了4个常见的文档无法调用出来的问题你先做个排除法吧,具体情况具体分析,如果还是不行 咱们再找问题。
1、文档是否发布在对应的分类,例如有两个一级分类,一个是新闻一个是公告,你的新闻发布在公告的分类里,前台肯定不会显示。
2、发布完文档是否点击了“生成”标签里的“更新首页HTML”和“更新文档HTML”,dedecms大多数情况做的是静态网站,因此发布完的内容需要生成在会在列表页和首页出现。
3、调用是否有问题,检查文档列表调用的分类ID 是否为发布文档分类的ID,这个要检查模板。
4、页面的HTML或CSS是否存在问题,页面样式也可能会造成此种情况,请查看生成后的页面源文件,来排除这个原因。
网上有两种解决方法:
一种是说你曾用记事本编辑过dede的php文件
2是说你得修改
找include/userloginclassphp里面的keepuser()函数,
把@session_register 全部改写, 虽然不知道这个@是什么意思
把@session_register($this->keepUserIDTag); 注释掉,然后改为
if (!isset($_SESSION[$this->keepUserIDTag]))
全部有6个。
如下:
if (!isset($_SESSION[$this->keepUserIDTag]))
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
if (!isset($_SESSION[$this->keepUserTypeTag]))
//@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
if (!isset($_SESSION[$this->keepUserChannelTag]))
//@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
if (!isset($_SESSION[$this->keepUserNameTag]))
//@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
if (!isset($_SESSION[$this->keepUserPurviewTag]))
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
if (!isset($_SESSION[$this->keepAdminStyleTag]))
//@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
然后就可以登入后台了。
我用的第二种方法解决的
我也遇到了这样的情况,百度了其他的方法,都无法解决这个问题。后来我就在后台系统→文件校验→在线获取,然后网站自动从官方下载最新的文件,然后就是更新覆盖,可能是开着服务器,更新不了,然后我就备份了一下,手动覆盖(注意:会覆盖templets下面的index模版,所以一定要记得备份),我现在可以正常添加文章了
开始是空白,我没有截图,现在是更新过的,可以添加的截图(网站后台地址保密,我就打码了)
有4中常见问题,可以参考一下问题寻找对应答案:
第一种:
问题描述:本地测试正常,上传到空间后列表空白,重新安装都是空白,空间所有文件使用 777 权限都一样是空白。
解决方法:找到\data\module下的moduleurllisttxt,如果moduleurllisttxt里没内容就是被破坏了,从安装包里提出吧。
第二种:
问题描述:上传到空间后列表空白,重新安装都是空白,空间所有文件使用 777 权限都一样是空白,将moduleurllisttxt上传覆盖也是空白(服务器缓存是个问题,所以这种方法很实用)。
问题原因:DedeV57以后的版本出现管理列表无法显示的情况多一些,这是因为官方将后台模块的列表远程的放在了官方服务 器上了。虽然这样可以让织梦的用户获得更多官方的模块,但有时网站在某个时间段连接不上织梦官方服务器,就可能无法写入模块列表文件内容,造成模块列表空 白。总的来说,/data/module/moduleurllisttxt模块列表文件没有内容是织梦模块管理列表空白的直接原因。
解决方法:打开/dede/module_mainphp文件(其中dede为您的后台管理目录),注释掉大约91行和95行的如下代码:
$modules_remote = $dm->GetModuleUrlList($moduletype,$mdurl);
$modules = array_merge($modules,$modules_remote);
这样织梦程序就不会从远程去获取列表,而是从本地获取列表了。
第三种:
问题描述:整个织梦模块管理页面都是空白的。
问题原因:还有一种情况也会造成织梦管理模块管理后台的列表无法显示,就是禁用了 fsockopen()函数,这个函数是织梦用来获取远程模块管理列表的。
解决方法:可以用问题二的解决方法禁止织梦远程获取管理列表;
另外就是开启 fsockopen()函数,如果你的主机支持这么做的话。
第四种:
问题描述:下载源码下来后在本地安装后台模块可以正常显示,但是上传到空间之后模块显示不了了,这种情况一般是你的空间参数或者设置的问题,你可以咨询空间商,或者试图尝试一下这种方法。
解决方法:将include中的文件dedehttpdownclassphp进行相关的修改,具体就是 将$this->m_fp=@fsockopen($this->m_host,$this->m_port,$errno,$errstr,10);
替换为$this->m_fp=@stream_socket_client($this->m_host':'$this->m_port,$errno,$errstr,10);
注意事项:
造成空白的原因一:data/module/中的moduleurllisttxt文件被破坏,这时我们可以下载下来打开看一下,如果内容为空,就说明被破坏了,我们从源码中提取一个覆盖上去就行了;
造成空白的原因二:module_mainphp文件受损,我们从源码中提取出来上传覆盖即可,这里强调的是,做这些之前,一定要备份,防止出现意想不到情况,因为程序这个东西不稳定因素还是比较多的
造成空白的原因三:织梦DedeCMS后台模块管理列表不显示的原因还有其他的,比如织梦程序没有足够的权限,无法写入/data/module/moduleurllisttxt文件,也会造成列表空白的。
你好,dedecms后台恢复数据之前请查看备份文件 \data\backupdata 里面是否存在有所需要的备份数据,另外备份数据的数据表前缀是否跟你安装程序时候填写的一致,因为dedecms默认的安装数据库表前缀是dede_ 但是有的站长数据表前缀改过了所以安装时候正常但是恢复数据时就会出现空白恢复不到数据了。
//解决方法:找include/userloginclassphp里面的keepuser()函数,将其修改为以下代码即可
function keepUser(){
if($this->userID != '' && $this->userType != ''){
global $admincachefile,$adminstyle;
if(empty($adminstyle)) $adminstyle = 'dedecms';
if (!isset($_SESSION[$this->keepUserIDTag]))
$_SESSION[$this->keepUserIDTag] = $this->userID;
if (!isset($_SESSION[$this->keepUserTypeTag]))
$_SESSION[$this->keepUserTypeTag] = $this->userType;
if (!isset($_SESSION[$this->keepUserChannelTag]))
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
if (!isset($_SESSION[$this->keepUserNameTag]))
$_SESSION[$this->keepUserNameTag] = $this->userName;
if (!isset($_SESSION[$this->keepUserPurviewTag]))
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
if (!isset($_SESSION[$this->keepAdminStyleTag]))
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie('DedeUserID', $this->userID, 3600 24, '/');
PutCookie('DedeLoginTime', time(), 3600 24, '/');
$this->ReWriteAdminChannel();
return 1;
}else{
return -1;
}
}
0条评论