很多使用dedecms的朋友可能会碰到过在发布文章或编辑文章时都会出现空白页面这种情况,下面我来总结了关于各种导致DedeCms织梦后台添加编辑文章空白解决办法,有需要的朋友可参考。

原因分析:

根据dedecms官方文档说明,出现这种问题是可能是由于catalog_do.php里的header()的问题,因为当执行header()
前,如果前面输出了空格、空行、任何字符,都会导致header()跳转失效。这就需要你非常有耐心的去排查一个个<?php
?>是否有空格或空行。把这些空格空行删除,至此功能就全部正常了。

解决的方法:

1、下载…/dede/catalog_do.php把文件下载到本地,用文本编辑器打开,做如下替换:

A、把:header(“location:article_add.php”)替换为:

代码如下
复制代码

echo “<script language=’javascript’>window.location.href=’article_add.php’</script> “;

b、把header(“location:{$gurl}?channelid={$channelid}&cid= {$cid}”);

替换为:

代码如下
复制代码

echo “<script language=’javascript’>window.location.href=’{$gurl}?channelid={$channelid}&cid={$cid}’</script> “;

2、下载…/dede/archives_do.php下载到本地,用editplus文本编辑器打开,做如下修改:

把:header(“location:{$gurl}?aid=$aid”);

修改为:

代码如下
复制代码

echo ‘<META HTTP-EQUIV=”REFRESH” CONTENT=”1; URL=’.$gurl.’?aid=’.$aid.’”>’;

如果不行就用下面的方法解决后台编辑文章空白问题

后台-”系统”-”系统基本参数”-”核心设置”-”html编辑器选项(目前仅支持fck):” 这里填写fck , 已正确的用户无需更改.

再不行就把FCK换成ckeditor,应该能解决后台添加/编辑文章页面空白或无法显示的问题了!

系统基本参数- 核心设置- Html编辑器选项 填写ckeditor 保存 更新缓存

主要就是添加文字之后页面变为空白,没有跳转到发布成功页面,但是点击栏目管理可以看到多了一篇文章,点击查看内容却没有。重装系统是不能解决的,

最后在网上找到了解决方案:

首先进系统—系统设置—-系统错误修复,修复了之前生成的错误页面。然后进入系统—系统设置—系统基本参数——其它选项—–自动提取关键字–选择否–保存。

如果是系统升级了我们可尝试下面方法解决

从DEDE5.6升级到5.7后,发现织梦后台部分栏目无法添加文章,添加后显示空白,进所有文档,查看文章状态显示为“未生成”;

查看了很多网上的帖子,没有发现能解决此问题的;

后台经过逆向反复查找,最终锁定问题可能出在此栏目的模板上,模板上使用了一个自定义函数IDReturnURL;

而这个函数在DEDE5.7版本升级后,覆盖掉了原文件;

代码如下
复制代码

{dede:channelartlist typeid=386}

<H3><A href='{dede:field name=’typeurl’/}’ title={dede:field
name=’typename’/}>{dede:field name=’typename’/}</A></H3>
<UL>
{dede:sql sql=’Select * from dede_archives where typeid=~id~ ORDER BY click limit 0,100;’}
<li><a href='[field:id function=IDReturnURL(@me)/]’ target=’_blank’>[field:title/]</a>
{/dede:sql}
</LI></UL>

{/dede:channelartlist}

经过查找,发现此函数定义在了extend.func.php文件中;具体定义如下:

代码如下
复制代码

function IDReturnURL($ID)
{

global $dsql;
$query = “Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,
tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
from dede_archives arc left join dede_arctype tp on arc.typeid=tp.id where arc.id = “.$ID;
$row = $dsql->GetOne($query);
$ReturnURL = GetFileUrl($row[‘id’],$row[‘typeid’],$row[‘senddate’],$row[‘title’],$row[‘ismake’],
$row[‘arcrank’],$row[‘namerule’],$row[‘typedir’],$row[‘money’],$row[‘filename’],$row[‘moresite’],$row[‘siteurl’],$row[‘sitepath’]);
return $ReturnURL;
}

添加后,再次进行测试,一切恢复正常

发表评论

电子邮件地址不会被公开。 必填项已用*标注