DedeCms织梦后台添加编辑文章空白解决办法

原因分析: 根据dedecms官方文档说明,出现这种问题是可能是由于catalog_do.php里的header()的问题,因为当执行header()前,如果前面输出了空格、空行、任何字符,都会导致header()跳转失效。这就需要你非常有耐心的去排查一个个<?php  ?>是否有空格或空行。把这些空格空行删除,至此功能就全部正常了。   解决的方法:   1、下载…/dede/catalog_do.php把到本地,用文本编辑器打开,做如下替换:   A、把:header(“location:article_add.php”)替换为:    代码如下 echo “<script language=’’>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换成,应该能解决后台添加/编辑文章页面空白或无法显示的问题了!   系统基本参数- 核心设置- 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;   }   添加后,再次进行测试,一切恢复正常